Hello,
I am developing an application on the C28 core, that must execute from RAM.
I have modified the linker command file to copy the input .text sections of the object modules in the .TI.ramfunc output section.
I have no problem with my custom modules nor with the driverlib ones.
I get an error, instead, with the fs_div28.asm module of the RTS library, to execute the __c28xabi_divf() function from RAM.
This is how I have modified the linker command file:
.TI.ramfunc :
{
...
-l rts2800_fpu64_eabi.lib<fs_div28.asm.obj>(.text)
} LOAD = FLASH,
RUN = RAMGS
LOAD_START(RamfuncsLoadStart),
LOAD_SIZE(RamfuncsLoadSize),
LOAD_END(RamfuncsLoadEnd),
RUN_START(RamfuncsRunStart),
RUN_SIZE(RamfuncsRunSize),
RUN_END(RamfuncsRunEnd),
ALIGN(4)
In this case, I get the following error:
error #16041-D: File "C:/ti/ccs1210/ccs/tools/compiler/ti-cgt-c2000_22.6.0.LTS/lib/rts2800_fpu64_eabi.lib<s_ceil.c.obj>" passes/returns double types in FPU64 registers while previous files pass them in {3}.
What am I doing wrong?
Thank you,
Carlo