This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

C6748: Jump from application back to secondary bootloader to boot another application

Other Parts Discussed in Thread: TMS320C6748

 Hi all,

I am working on a custom board with a TMS320C6748, CCSv5 and C-Compiler 7.3.4. Following the Application Reports SPRAAT2E and SPRA999A1 I wrote a secondary bootloader that is loaded from a flash on EMIFA CS2 to the lower half of L2RAM (0x11800000 - 0x1181FFFF). This secondary bootloader copies an "user-program" from a USB-Port ( via a Cyclone IV-FPGA on EMIFA CS4) to the upper half of L2RAM (0x11820000 - 0x1183FFFF) and branches to its _c_int00 at 0x11820000. The linker-files are adapted, so that the memory sections don't overlap. That all works, the user-program gets executed correctly.

When the user-program gets a magic command, the DSP has to branch back into the secondary bootloader (_c_int00 at 0x11800020) so that I can boot another application without a reset. The branch and the execution of the secondary bootloader work fine, but the bootloader is no more able to write to the upper half of L2RAM and to put a new application over there. Is there any limitation, that a memory-area that is filled with code can't be overwritten anymore? Or is the startup-code of the application protecting the application itself? Amazingly, some small areas seem to get overwritten correctly, what I found out when I replaced my second application with zeros.

I hope I wrote all needed information, if not please tell me, this is the first time that I'm writing here. I attached a picture to visualize what I'm trying to do.

Cheers,

Chris