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!
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.
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.
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.
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.
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.
All content and materials on this site are provided "as is". TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with regard to these materials, including but not limited to all implied warranties and conditions of merchantability, fitness for a particular purpose, title and non-infringement of any third party intellectual property right. TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with respect to these materials. No license, either express or implied, by estoppel or otherwise, is granted by TI. Use of the information on this site may require a license from a third party, or a license from TI.
TI is a global semiconductor design and manufacturing company. Innovate with 100,000+ analog ICs andembedded processors, along with software, tools and the industry’s largest sales/support staff.