Hi all,
(MSP432, CCS 6.1.2)
I've created a new project (using the "MSP432 Driverlib - Empty Project with DriverLib" tempate) and I'd like to force one of the functions in my code to run from RAM (make it a ramfunc) but I can't get this to work.
My linker file (the standard one generated when you create a new project) contains the following
SECTIONS { .intvecs: > 0x00000000 .text : > MAIN .const : > MAIN .cinit : > MAIN .pinit : > MAIN .init_array : > MAIN .binit : {} > MAIN .flashMailbox : > 0x00200000 .vtable : > 0x20000000 .data : > SRAM_DATA .bss : > SRAM_DATA .sysmem : > SRAM_DATA .stack : > SRAM_DATA (HIGH) #ifdef __TI_COMPILER_VERSION__ #if __TI_COMPILER_VERSION__ >= 15009000 .TI.ramfunc : {} load=MAIN, run=SRAM_CODE, table(BINIT) #endif #endif
I append an attrribute to my function as follows
__attribute__((ramfunc)) void alg(.....) { }
when I compile I'm given the warning "#1173-D unknown attribute "ramfunc"
I've also tried
#pragma CODE_SECTION(chaskey, ".TI.ramfunc")
void alg(.....) { }
which gives the compile wanring "#10247-D creating output section ".TI.ramfunc" without a SECTIONS specification"
In both cases, when I check the map file, I see nothing about a ramfunc section
Can anyone suggest what I'm doing wrong?
References
https://e2e.ti.com/support/microcontrollers/msp430/f/166/p/516600/1876179#1876179
https://e2e.ti.com/support/microcontrollers/msp430/f/166/p/475690/1788958#1788958
https://e2e.ti.com/support/microcontrollers/msp430/f/166/p/456985/1650130