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.

TMS320C5515: Boot from NAND flash, NOR flash, SPI EEPROM or SD-card issue

Part Number: TMS320C5515
Other Parts Discussed in Thread: ADS1298
We are currently working on a DSP project using the TMDXEVM5515 evaluation board from Texas Instruments. This is our first time working with a DSP and with CCS12. Our goal is to make the EVM boot our custom program from the onboard NAND, NOR flash, SD-card or SPI-EEPROM whenever the device is powered up. We can verify that our program is working, when uploading via. the XDS100v3 Emulator.
The problem is that we can´t get the EVM5515 to boot from external memory, like NAND/NOR Flash or the SD-card.
So far, we've been able to generate a .bin file using hex55.exe with the following command:

C:\c5515>hex55.exe -boot -v5505 -serial8 -b -o .\bootimg1.bin .\CSL_GPIO_InputPinExample.out

Translating to Binary format...

".\CSL_GPIO_InputPinExample.out" ==> .text (BOOT LOAD)

".\CSL_GPIO_InputPinExample.out" ==> .cinit (BOOT LOAD)

".\CSL_GPIO_InputPinExample.out" ==> .const (BOOT LOAD)

".\CSL_GPIO_InputPinExample.out" ==> .switch (BOOT LOAD)

After the .bin file is generated, we have tried to burn it to the NOR, NAND Flash, SPI EEPROM and SD-card using programmer.out.
We can only verify that the .bin file is burned to the FAT32 SD-card, using a SD-card reader with a computer.
More over we have tried to run the cleaner.bin before and after a burning a program.
When we do a powercycle after a burn, we see no sign of boot loader or our program working. We also tried the onboard Reset button.
What could the problem be, why is the bootloader not booting from the .bin file on the SD-card or other external memory?
Important notes:
  1. We have not changed anything regarding PLL.
  2. We dint change anything physical on the board like jumpers etc..
  3. We are using Code Composer Studio 12 with a XDS100v3 Emulator.
  4. We have an ESP32 and a ADS1298 connected with SPI using CS0 and CS1.
I have provided our .cmd file bellow, which might be the place to look for an error.



    MMR (RW) : origin = 0000000h length = 0000c0h /* MMRs */
    DARAM (RW) : origin = 00000c0h length = 00ff40h /* on-chip DARAM */
    SARAM (RW) : origin = 0010000h length = 040000h /* on-chip SARAM */
    SAROM_0 (RX) : origin = 0fe0000h length = 008000h /* on-chip ROM 0 */
    SAROM_1 (RX) : origin = 0fe8000h length = 008000h /* on-chip ROM 1 */
    SAROM_2 (RX) : origin = 0ff0000h length = 008000h /* on-chip ROM 2 */
    SAROM_3 (RX) : origin = 0ff8000h length = 008000h /* on-chip ROM 3 */
    EMIF_CS0 (RW) : origin = 0050000h length = 07B0000h /* mSDR */
    EMIF_CS2 (RW) : origin = 0800000h length = 0400000h /* ASYNC1 : NAND */
    EMIF_CS3 (RW) : origin = 0C00000h length = 0200000h /* ASYNC2 : NAND */
    EMIF_CS4 (RW) : origin = 0E00000h length = 0100000h /* ASYNC3 : NOR */
    EMIF_CS5 (RW) : origin = 0F00000h length = 00E0000h /* ASYNC4 : SRAM */





    vectors (NOLOAD)
    .bss : > DARAM /*, fill = 0 */
    vector : > DARAM ALIGN = 256
    .stack : > DARAM
    .sysstack : > DARAM
    .sysmem : > DARAM
    .text : > SARAM
    .data : > DARAM
    .cinit : > DARAM
    .const : > DARAM
    .cio : > DARAM
    .usect : > DARAM
    .switch : > DARAM
    .emif_cs0 : > EMIF_CS0
    .emif_cs2 : > EMIF_CS2
    .emif_cs3 : > EMIF_CS3
    .emif_cs4 : > EMIF_CS4
    .emif_cs5 : > EMIF_CS5


TMDXEVM5515 evaluation board:

  • Hello Samuel,

    This is a really old EVM to be starting with for first time DSP development with TI. It was manufactured by Spectrum Digital who has since gone out of business, and the board itself was obsoleted many years ago. Our ability to support this hardware is minimal at this point (keep in mind that the DSP you've chosen as a whole is a Limited Support device per product page).

    For this specific board the one guidance I can offer would be to check this boot document to see if it gives any pointers that are relevant:

    You can also check the product page for other relevant documents but at a glance I don't think the others help directly.

    Best Regards,

    Ralph Jacobi

  • Hello Ralph,

    Thank you for your prompt response and the insight into the limitations of the EVM5515 board and its associated DSP. As Samuel's co-worker, we both understand that it's an older model with minimal support at this point. We have looked into the boot document you suggested but are still experiencing some challenges.

    Given that the EVM5515 might not be the best fit for our ECG application, which requires a sampling rate of 2000 samples per second and capabilities like FIR filtering, could you recommend an alternative TI DSP chip? We're specifically looking for a chip that is not only more current but also has low power consumption requirements, as that is a critical factor for us. Additionally, compatibility with the ADS1298 A/D converter in our setup is essential.

    Any recommendations on this front would be greatly appreciated as we'd like to transition to a more supported and efficient platform for smoother development.

    We just got the NAND Flash booting working!
    By using the old Legacy programmer.out from the EVM5515 CD.
    But the clock frequency is being divided by a factor of 8, it's possible that the clock is being scaled down to meet the Flash's timing requirements, and that might be our issue now.

    Best Regards,

  • Hello Kasper,

    As much as I would like to help you with that kind of question, it's outside of my scope of knowledge when it comes to our product offering. I am responsible for helping inform about the limitations we have on these C5000 DSPs, but I do not work with newer DSPs and am not aware of which newer devices would meet those requirements. Our DSP product offerings can be reviewed at:

    Best Regards,

    Ralph Jacobi