Other Parts Discussed in Thread: C2000WARE
I have been working on SPI Boot mode for C20025C. I have an external Flash connected to my DSP control card(TMDSCNCD280025C) over SPI.
So, the procedure I am following is this.
- I have taken a most basic code of LED blink that can run from DSP RAM memory.
- I modified the CMD file to run it from RAM and rearranged the memory locations.
- I added SPI code which copies this RAM location to external FLASH. (working fine).
- I downloaded this code using onboard JTAG and it will copy this code to internal RAM as specified in cmd file. I can see the file in the memory view and disassembly view.
- Now, when I run this code, it copies itself to external Flash over SPI along with header information. I can see that using logic analyser.
- Put a breakpoint at the end of code and when it hit that.
- Now, I changed the EMU Boot mode bits.. 0xD00 to boot next time from SPI mode
Bootconfig(0xD00) : 0x5AFF1820 (0x5A key, 0x18-GPIO24, 0x20-GPIO32), GPIO24 and 32 as boot pins which are pulled high.
DefWordLow(0xD04) : 0x06FF01FF (0x06 for SPI mode, 0x01 is for SCI mode(will be used later))
DefWordHigh(0xD06) : 0xFFFFFFFF
- Press "CPU reset" button on CCS IDE. I see this.
- Press "Resume". I see that DSP start downloading the data from external Flash and able to copy it to internal RAM as specified in SPI header. I see the correct data on logic analyser and even in the RAM location using memory view. But it is not able to jump to the bootloader which have a function of just LED blink. I see following error.
Disassembly view: Control always stops at ESTOP0.. and whenever I press resume it start downloading the data from FLASH and stop at this location.
Can someone guide me why I am seeing this issue? Is it the correct behavior? Or this will work properly during standalone mode. I am confused.