DSPRelated.com
Forums

Flash Burn

Started by bhar...@gmail.com October 22, 2009
Hello,

I am trying to burn the led example program (led.out) to the flash memory on a DSK6713. I am using the hex6x hex-converter utility to make a .hex file.

Here is the cmd file that I am using along with the hex6x program.
/* Usage hex6x led_to_hex.cmd
led_to_hex.cmd
*/

led.out /* input file */
-a /* ascii format */
-image /* create complete Rom image */
-zero /* reset address origin to 0 */
-memwidth 8 /* 8-bit memory */
-map ledhex.map /* create a hex map file */
-boot /* create boot table */
-bootorg 0x90000400 /* external memory boot */
-bootsection .boot_load 0x90000000 /* give boot section & addr */

ROMS
{
FLASH: org=0x90000000, len=0x20000, romwidth=8, files={led.hex}
}

Once I have the hex file, I am using flashburn to burn it on to the flash memory on-board. I am confident I am doing this step correctly as I was able to successfully burn the example hex file (BlinkDSK6713.hex).

What I am looking for is to program the flash, so that when I power on the board, I would have the led program executing. Eventually, I would like to burn my own programs on the flash memory but led.out is a good starting point I believe.

Thanks for your help.

_____________________________________
bhargava.ravoori,

On Wed, Oct 21, 2009 at 3:01 PM, wrote:
>
> Hello,
>
> I am trying to burn the led example program (led.out) to the flash memory on a DSK6713. I am using the hex6x hex-converter utility to make a .hex file.
>
> Here is the cmd file that I am using along with the hex6x program.
> /* Usage hex6x led_to_hex.cmd
> led_to_hex.cmd
> */
>
> led.out /* input file */
> -a /* ascii format */
> -image /* create complete Rom image */
> -zero /* reset address origin to 0 */
> -memwidth 8 /* 8-bit memory */
> -map ledhex.map /* create a hex map file */
> -boot /* create boot table */
> -bootorg 0x90000400 /* external memory boot */
> -bootsection .boot_load 0x90000000 /* give boot section & addr */
>
> ROMS
> {
> FLASH: org=0x90000000, len=0x20000, romwidth=8, files={led.hex}
> }
>
> Once I have the hex file, I am using flashburn to burn it on to the flash memory on-board. I am confident I am doing this step correctly as I was able to successfully burn the example hex file (BlinkDSK6713.hex).
>
> What I am looking for is to program the flash, so that when I power on the board, I would have the led program executing. Eventually, I would like to burn my own programs on the flash memory but led.out is a good starting point I believe.

I think that your approach is good. Always work with as few variables
as possible. The info below should equip you to troubleshoot and
isolate the problem.

1. Does your initial 1k boot block contain a branch to your entry
point at 0x9xxxxxxx??
2. If you perform a 'Debug->Cpu Reset', your boot block should be at
address 0. You can view it in the disassembly window to verify that it
'looks correct'.
3. You should then be able to single step through the boot block and
verify that it branches to the entry point.
4. Locate your out file that was compiled to begin at 0x90000400 and
perform a 'load symbols'.
5. Make sure that your EMIF is configured to access 0x9xxxxxxx in byte mode.
6. If your boot block is good, you should be able to do [a]cpu reset,
[b]set hw bp at entry, [c] run -halts at entry, [d]set hw bp at main,
run- halts at main, then step through the program.

Let us know how it goes.

mikedunn
>
> Thanks for your help.
--
www.dsprelated.com/blogs-1/nf/Mike_Dunn.php

_____________________________________
bhargava,

Under the assumption that the same commands in the file you successfully burned are the same commands in this led_to_hex.com file;
it is highly likely that one or more of the following is the problem:
-- your not erasing the flash before trying to burn it again.
-- your project link.cmd file has a different entry point than 0x90000400

The above assumption has me wondering..
every time I have burned a TI processor flash, I used the same rom and mem width as the actuals I.E. 16 bits rather than 8 bits.
Of course, if the original flash burn worked correctly with 8 bits, then i would not change it.

What are you using to perform the actual flash burn?

R. Williams

---------- Original Message -----------
From: b...@gmail.com
To: c...
Sent: Wed, 21 Oct 2009 16:01:06 -0400
Subject: [c6x] Flash Burn

>
>
> Hello,
>
> I am trying to burn the led example program (led.out) to the flash memory on a DSK6713. I am using the hex6x hex-converter utility to make a .hex file.
>
> Here is the cmd file that I am using along with the hex6x program.
> /* Usage hex6x led_to_hex.cmd
> led_to_hex.cmd
> */
>
> led.out /* input file */
> -a /* ascii format */
> -image /* create complete Rom image */
> -zero /* reset address origin to 0 */
> -memwidth 8 /* 8-bit memory */
> -map ledhex.map /* create a hex map file */
> -boot /* create boot table */
> -bootorg 0x90000400 /* external memory boot */
> -bootsection .boot_load 0x90000000 /* give boot section & addr */
>
> ROMS
> {
> FLASH: org=0x90000000, len=0x20000, romwidth=8, files={led.hex}
> }
>
> Once I have the hex file, I am using flashburn to burn it on to the flash memory on-board. I am confident I am doing this step correctly as I was able to successfully burn the example hex file (BlinkDSK6713.hex).
>
> What I am looking for is to program the flash, so that when I power on the board, I would have the led program executing. Eventually, I would like to burn my own programs on the flash memory but led.out is a good starting point I believe.
>
> Thanks for your help.
------- End of Original Message -------