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.

about TMS570LS3137 code

Other Parts Discussed in Thread: TMS570LS3137

hello,I want to know may I place the program code into extern prom?NOT in  tms570ls3137's flash.I don't know how to use? Please help me!THANKS!

  • Hello,

    Can your code be stored in external flash?  Yes, you could achieve this with either a SPI flash or a linear/asynch flash (traditionally NOR flash).

    The question is do you want to execute directly from this storage?  If so, then the SPI flash is not an option.  

    The external asynch memory space is directly accessible by the CPU so fetches are supported as well as load, store.  However, please be aware that the MCU architecture was not designed for execution performance on this path:  

    Besides the obvious flash access delays, 

    You will incur several cycles of latency to access the EMIF controller, and 

    The EMIF Data bus width is only 16 bits wide

    The EMIF is not protected by ECC - so you could be opening a safety hole

    In general, we would advise using the EMIF as a mass data storage area.  If you have code that does not fit in the on chip flash space, consider copying it to on-chip RAM first and then executing from RAM.

  • Hello,

    The current products support only boot from internal flash.  If you wish to boot from external memory, you will need to make a small bootloader in the internal flash to handle initialization and then transfer program flow to the external memory.

    Regards,
    Karl 

  • thank you for you answer. I need handle initialization in the internal,and then jump to extern memory?

  • Yes, this is correct.  The device will always boot from the internal flash memory.  To perform execution from external flash you will need to put code in the internal memory which boots the device, configures the EMIF, and transfers the execution stream to external memory.

    Regards,

    Karl

  • today,I try it.but I don't know how to transfer the execut stream to external memory.I want to place main function to external memory,but i don't know how to jump external memory,address is 0x60000000.thanks.

  • Hello,

    The simplest way to approach this in my opinion is to create two separate projects with CCS.  For the first project (bootloader), you will link the code to execute from 0x0.  For the second project (application), link the code to execute from the external memory space.  The final instruction of your bootloader would then be a call to the application routine which is linked in external memory.

    Regards,

    Karl