Hi,
at the start of the flash-program the code is copied to RAM (c_int00 -> main, copy code to RAM -> code running in RAM).
.TI.ramfunc : {} LOAD = FLASH, RUN = RAM, PAGE = 0, ALIGN(4)
{ "../lib/C28_DSP_FPU_Lib/lib/c28x_fpu_dsp_library.lib"
"../lib/flash_api/lib/F021_API_F2837xS_FPU32.lib"
"../lib/C28_FPU_FastRTS/lib/rts2800_fpu32_fast_supplement_coff.lib"
module1.obj (.text)
module2.obj (.text)
module3.obj (.text)
}
That's common practice. And the ".text"-segment is located in the flash, so that c_int00 and main will execute from flash. Everything is fine.
But now I need to execute every ".text"-function from RAM, except some real flash functions for startup: c_int00, main and so on . Hence, even the (hidden) functions like FS$$DIV and so on will be in the RAM. Of course, I can locate the ".text" to LOAD = FLASH, RUN = RAM, but if I do so, everything will be in the RAM and startup will get impossible.
How can I say to the linker that some functions (especially C-lib-functions) should execute from flash? Is there a tutorial for a (nearly) 100% RAM-program which is stored in the flash?
Thanks!
Edwin