Quantcast
Channel: MSP low-power microcontrollers
Viewing all articles
Browse latest Browse all 62309

Forum Post: RE: MSP 430 ULP Advisor

$
0
0
[quote user="Michael Cheng"]How would I move these to RAM?[/quote]With the TI v15.0.9.x and later compilers, found you just edit the linker command file to cause specific library object files to run from RAM. The run time library start-up code automatically copies the functions from RAM to flash. E.g. changes the linker command file for a MSP430FR6989 to cause the div16u.obj and mult32_f5hw.obj object files in the rts430x_lc_rd_eabi.lib (large code, restricted data) run time library to be moved to RAM: #ifdef __TI_COMPILER_VERSION__ #if __TI_COMPILER_VERSION__ >= 15009000 ram_funcs { *(.TI.ramfunc) rts430x_lc_rd_eabi.lib (.text) rts430x_lc_rd_eabi.lib (.text) #ifndef __LARGE_DATA_MODEL__ } load=FLASH, run=RAM, table(BINIT) #else } load=FRAM | FRAM2, run=RAM, table(BINIT) #endif #endif #endif A complete example project is attached, which uses the TI v15.12.2.LTS compiler. (Please visit the site to view this file) The linker map file shows the div16u.obj and mult32_f5hw.obj object files have been set to run in RAM: ram_funcs * 0 00004800 0000003a RUN ADDR = 00001e46 00004800 00000016 rts430x_lc_rd_eabi.lib : div16u.obj (.text) 00004816 00000024 : mult32_f5hw.obj (.text) .... 00001e46 __mspabi_divu 00001e46 __mspabi_remu 00001e5c __mspabi_mpyl_f5hw I also single-stepped in the debugger to check the functions from div16u.obj and mult32_f5hw.obj object files were running from RAM.

Viewing all articles
Browse latest Browse all 62309

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>