I want to move my application which currently runs from RAM into Flash, but I am having issues. How do I get my application to run from Flash correctly?
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.
To migrate an existing application that is configured to run from RAM to a Flash-based linker configuration, follow these steps:
device_support\<device>\common\cmd
directory.BEGIN
in TI-provided Flash linker command files) at the end of boot code execution. Make sure there is a branch instruction at the Flash entry point to your code initialization (for example, _c_int00
) function. In the C2000Ware examples, the entry point code is specified in the codestartbranch.asm
file.Flash_initModule()
driverlib function achieves these steps. Note that code that initializes the Flash module must execute from a RAM location. This is accomplished by assigning the Flash initialization function to the .TI.ramfunc
section. In the linker command file, map this section to Flash for load, and RAM for execution. The example cmd files provided in C2000Ware show how to do this correctly..TI.ramfunc
section in the TI-provided Flash linker command files accomplishes this purpose.ALIGN
directive in the linker command file.type=NOINIT
") in the linker command file.