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.

Relocate to RAM built-in run-time library functions

Other Parts Discussed in Thread: CC2640

Hi everyone,

Following advices from the ULP advisor, i'm trying to put an entire function to work in RAM because i use float types. I think I succeed in this operation but i still have division and multiplication operations to do and i should move them to RAM. This tutorial ask me to relocate processor intensive functions to RAM with this code : 

.text:rts430.lib_div : { rts*.lib<div16u.obj>(.text) } .run_from_ram 
.text:rts430.lib_mult : { rts*.lib<mult16_f5hw.obj>(.text) } .run_from_ram 
.text:rts430.lib_printf : { rts*.lib<*printf.obj>(.text) } .run_from_ram 

But using a CC2640 and runtime library set to "automatic", i do not know how to find theses functions (I can't open library file even with notepad). I tried this way :

.text:rtsv7M3_T_le_eabi.lib_div : { rts*.lib<div16u.obj>(.text) } 	.run_from_ram
.text:rtsv7M3_T_le_eabi.lib_mult: { rts*.lib<mult16_f5hw.obj>(.text) } 	.run_from_ram

Two warnings indicates that "No matching sections" ( #10068)

Thanks in advance

Have a nice day

  • Pittet,

    The run time libraries are picked by the compiler based on what functionality is needed. You might be able to get some help from the TI ARM compiler user guide:
    www.ti.com/.../spnu151j.pdf

    Note that in many cases performance will deteriorate by doing this since the CC26XX series will cache flash accesses to a single-cycle cache RAM which is faster than executing from regular SRAM.

    Regards,
    Svend