Hello.
I have two questions about linker's scripts:
1. I would like to specify one or a few routines from the library to place them into specific section:
ramfuncs : { -lrts2800_ml.lib<boot.obj>(.text:_c_int00) }
I've read the spru513e.pdf and didn't find the answer.
Also, not all specified objects took place at the specified section as requested:
ramfuncs : { -lrts2800_ml.lib<ctype.obj>(.econst) -lrts2800_ml.lib<memcpy_ff.obj,ctype.obj,strtol.obj>(.text) } > RAMM0 PAGE = 0
.text : > PRAMH0 PAGE = 0
After the link, I will have only ctype.obj(.econst) and memcpy_ff.obj(.text) while the "ramfuncs" and "strobj.obj(.text)" goes to ".text" section.
2. I have a base FLASHed image with a driverlib set and some other functions burned into the flash. I would like to test another software that use the same functions from the flash to save a RAM memory and FLASH life cycle. I just need to change a minor main functions and run on top of API lived on the FLASH. I have two link scripts:
FLASH variants:
(Please visit the site to view this file)
(Please visit the site to view this file)
RAM variant:
(Please visit the site to view this file)
There are a number of hacks to pin some sections at the fixed position. It's ugly now.
I'm able to load HEX file via XModem and place it in the memory. Then jump to the new Entry point. I didn't find Xmodem-related API and write it on my own:
https://github.com/ya-mouse/f280x_bufops
Also I use that library to burn HEX file over Xmodem using TI's Flash API.
The problem become in the functions' order for the flashed sections, e.g "driverlib". How can I sort objects and pin a list of available routines that could be reused by the RAM-linked version? Other routines, that are not in the FLASH, should be placed into the memory. I need something like a map of "external" routines that should be used during link stage. Is it possible?