Hello all, I have a problem with booting 5410 from Flash (two 8-bit flash. one for upper 8 bits and other for the lower 8 bits). The bootloader document says that the bootloader reads 0FFFF location of I/O or Data memory to find a valid keyword (10AA or 08AA). But, When I use the hex-conversion utility (hex500) how do I specify that?? If anyone has a sample command file for hex500 please send it to me. Thanks Santosh |
|
Booting 5410 from flash
Started by ●February 3, 2002
Reply by ●February 5, 20022002-02-05
Santoch, Here are some comments/ideas: 1. The address 0xFFFF should contain the address of the 0x10AA, not the 0x10AA itself. In other words, the DSP should read something like 0x8000 (the address of your flash memory), then it jumps to that address (0x8000), and it should find there the magic number 0x10AA (for a 16-bit flash). 2. I do the same thing (booting from a flash memory), but I use ONE 8-bit flash memory. To give the flash address to the DSP, I use two 8-bit drivers (with the flash address hard-coded on the input side) that are turned on (selected at address 0xC000 and above) and read by the DSP at boot. My 8-bit flash memory is located at address 0x8000 and the first bytes contain (0x08 and 0xAA). 3. Our application program is "self-writable" and contains a routine (PgmFlashWrite) for writing into the flash memory. Here is how it works: - The application program is loaded into the DSP RAM through the JTAG port. - When the program is executed (through the J-TAG), it goes to the PgmFlashWrite routine because the first thing that it does (after initialization) is a GOTO to the PgmFlashWrite routine. - The PgmFlashWrite routine: (a) replaces the GOTO with NOP's, (b) writes the boot table into the flash (the one that contains the 0x08AA and so on), and (c) writes itself into the flash. When you make a reset, the DSP will load the program from the flash memory, but will not write itself into the flash because the GOTO is replaced with NOP's. That's it! Best regards to all, Raymond ----- Original Message ----- From: "Santosh M Nadig" <> To: <> Sent: Sunday, February 03, 2002 10:45 AM Subject: [c54x] Booting 5410 from flash > Hello all, > > I have a problem with booting 5410 from Flash (two 8-bit flash. one for > upper 8 bits and other for the lower 8 bits). The bootloader document says > that the bootloader reads 0FFFF location of I/O or Data memory to find a > valid keyword (10AA or 08AA). But, When I use the hex-conversion utility > (hex500) how do I specify that?? If anyone has a sample command file for > hex500 please send it to me. > > Thanks > Santosh > > _____________________________________ > Note: If you do a simple "reply" with your email client, only the author of this message will receive your answer. You need to do a "reply all" if you want your answer to be distributed to the entire group. > > _____________________________________ > About this discussion group: > > To Join: Send an email to > > To Post: Send an email to > > To Leave: Send an email to > > Archives: http://www.yahoogroups.com/group/c54x > > Other Groups: http://www.dsprelated.com > ">http://docs.yahoo.com/info/terms/ > |
Reply by ●February 5, 20022002-02-05
You need to tell it you want to use the bootloader by specifying the
-boot option in your command file; either by itself (default) to load everything- or by individually naming sections you want it to load. Here's one of mine from a 5402 project using 8b wide parallel PROM; you can adjust for your memory or if there are CPU differences. Remember to get the C code entry point! dsp3_run.out /* input COFF file */ -o DSP3.hex /* output file name */ -a /* ASCII hex format */ -boot /* bootload all sections */ -bootorg PARALLEL /* external mem on main bus */ -memwidth 8 /* 8bit wide memory, using */ -romwidth 8 /* single byte-wide EPROM */ -e 0x06C7 /* C code entry point, check .map file for address */ > From: "Santosh M Nadig" <> > Subject: Booting 5410 from flash > > Hello all, > > I have a problem with booting 5410 from Flash (two 8-bit flash. one for > upper 8 bits and other for the lower 8 bits). The bootloader document says > that the bootloader reads 0FFFF location of I/O or Data memory to find a > valid keyword (10AA or 08AA). But, When I use the hex-conversion utility > (hex500) how do I specify that?? If anyone has a sample command file for > hex500 please send it to me. > > Thanks > Santosh |
|