Tool/software: TI C/C++ Compiler
Hello,
I need to create a software binary file with a specific format : header file, instructions and a end of file section. To force the section order during the link process, I use the GROUP instruction of the linker.
But some initialization functions require to execute source code in RAM (for example : flash parameters initialization. I creates a specific code section to allow code copy in RAM and RAM execution.
The problem is I can't place this section in the group because the other sections are not copied in RAM. A warning is generated on the link :
"../Cmd/FLASH_lnk.cmd", line 67: warning #10082-D: placement ignored for "RamFuncSection": object is placed as part of "Binary"
/* Allocate program areas: */
GROUP(Binary) : LOAD = FLASHABCDE PAGE = 0, SIZE(BINARY_SIZE), ALIGN(4)
{
codestart
BinaryHeader
.text
.cinit
.pinit
.econst
RamFuncSection : RUN = RAMD0 | RAMD1,
LOAD_START(RAM_FUNC_LOAD_START_ADDR),
LOAD_SIZE(RAM_FUNC_LOAD_SIZE),
LOAD_END(RAM_FUNC_LOAD_END_ADDR),
RUN_START(RAM_FUNC_RUN_START_ADDR),
RUN_SIZE(RAM_FUNC_RUN_SIZE),
RUN_END(RAM_FUNC_RUN_END_ADDR)
BinaryCrc
}
How can I place this section (RamFuncSection) in the binary with respect to the structure header-instructions-end of file section?
Thank you in anticipation for your help
Aurélien