Step by step procedure to execute a function in internal RAM on TMS570LC4357
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.
Step by step procedure to execute a function in internal RAM on TMS570LC4357
Hi,
In this thread i am discussing step by step process to execute a function in RAM, for this purpose i am using one blinky routine to run in RAM.
1. First, we have to declare a section called "blinky_section" and should mention this section LOAD should be at FLASH0 or FLASH1 but the function RUN should be in RAM like as below.
And also we have to give the unique names for the LOAD_START, LOAD_END, LOAD_SIZE, RUN_START and RUN_END.
2. One we did that, now we have to use the same section to enclose the function which we want to run in RAM like as below.
3. Now in main function after initializations, we should copy the blinky_section from FLASH to RAM before calling the function.
4. Once we copied the function from FLASH to RAM, now we can call the function to execute it from RAM.
5. Now you can test your program, here is the output after copying FLASH function into the RAM
6. Now after calling blinky function, if we pause the program, then you can see the disassembly code is pointing the data in the RAM:
So that means the code is executing from RAM.
Here is my tested example project:
2500.LED_Blinky_Routine_Running_RAM_LC4357.zip
I tested this code on my TMS570LC4357 Lauchpad.
Note:
If you get any prefetch entry abort, then please make sure the RAM MPU configurations:
--
Thanks & regards,
Jagadish.