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.

TMS320C6713B: Debug a bootloader

Part Number: TMS320C6713B

Team, can you please help address the issue my customer is having:

I want to debug a bootloader program that is going to run in a C6713 DSP. As far as I know, the DSP copies 1 kB from flash to IRAM during boot. This bootloader program would contain 1 kB sized code section which is the responsible to copy the rest of the program from flash into RAM. This should be no problem at all with production builds, but during the debugging process I have a problem.

Currently, the linker command file is defining the memory sections with origin in flash and to run in RAM. However, the CCSv5 debugger is not able to load the program sections that should be inside the flash, BUT it can do for memory sections in RAM. This makes the process of debugging the bootloader quite more uncomfortable, because for each debug session after change in the code, I need to reopen Flashburn, run, erase and burn. So my question here is why is the CCSv5 not able to load the program in flash memory while it can do in the other memories (both internal and external RAM) and how I can fix it so I can simplify the debug process of a bootloader program that copies from flash into RAM. If it helps, I am using a DSK6713 development board with the CCSv5 and the Blink example that comes with the Flashburn software.

Customer's project can be made available off-line.

Thanks

Viktorija

  • Hi Viktorija,

    What error message did your customer get when trying to load the program into flash using CCS?

    Thanks,

    Jianzhong

  • Thanks, Jianzhong. 

    No error message. The debugger is able to load the program instructions (with various memory sections, as defined in the linker command file) in all memory sections (both internal and external RAMs), but not in flash. I have checked this multiple times by using the CCS Memory Browser.

     Let me put a quick example. After a flash erase using flashburn the only data you can see is FFFFFFFF. If I attempt to load code that should be placed in flash memory with the debugger, the content in the flash remains the same FFFFFFFF. However after I attempt to load code that should be in RAM, the instructions are visible in the addresses they belong by using the CCS Memory Browser

    Let me know what you think.

    Thanks

    V

  • Hi Viktorija,

    Generally we need to use a flashing tool to write a program into flash. For some devices, that tool is integrated with CCS. For example, as mentioned in this thread: https://e2e.ti.com/support/tools/ccs/f/81/t/615542

    Unfortunately, that's not the case for C67x DSP. So your customer will have to use the flash burn tool to write the program to the flash.

    Regards,

    Jianzhong