Hi,
I'm trying to copy sections of my code from Flash to RAM for better performance. I can do this with my own functions using the following section of the linker:
RAML0 : origin = 0x008000, length = 0x001000 /* on-chip RAM block L0 */
ramfuncs : LOAD = FLASHD,
RUN = RAML0,
LOAD_START(_RamfuncsLoadStart),
LOAD_END(_RamfuncsLoadEnd),
RUN_START(_RamfuncsRunStart),
PAGE = 0
Then copying this using the MemCopy function, and a #pragma CODE_SECTION directive. This works fine.
However, I have been trying to copy functions from the rts2800_fpu32.lib into RAM to make this run using the following in the linker. This again requires the MemCopy function but as I understand does not need a #pragma. As I understand this should copy the full library into RAM from flash.
RAML1 : origin = 0x009000, length = 0x003000 /* on-chip RAM block L1 */
maths : LOAD = FLASHB
RUN = RAML1,
LOAD_START(_MathLoadStart),
LOAD_END(_MathLoadEnd),
RUN_START(_MathRunStart),
PAGE = 0,
{
-l rts2800_fpu32.lib (.text)
}
However, I get a warning on compilation and the copy fails:
#10068-D no matching section
I have been looking around the forums and came across this post which seems to suggest I am doing things right, however one of the entries suggests there is a known bug that changing the project options from automatic to include the specific library being included. However this does not solve the issue. I think the fix mentioned in the post relates to CCSv4, I am using CCSv5. Are there any other known issues surrounding this or is there something else I am missing?
Thanks,
Adam