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.
Tool/software: TI C/C++ Compiler
I found the following issue:
In my command file:
GROUP
{
ramfuncs
.TI.ramfunc
}LOAD = FLASHcode,
RUN = RAMDfunct,
LOAD_START(_RamfuncsLoadStart),
LOAD_SIZE(_RamfuncsLoadSize),
LOAD_END(_RamfuncsLoadEnd),
RUN_START(_RamfuncsRunStart),
RUN_SIZE(_RamfuncsRunSize),
RUN_END(_RamfuncsRunEnd),
PAGE = 0, ALIGN(4)
If there is not sufficient room in RAMDfunct global variables are overwritten:
If you can see RamfuncsRunStart + RamfuncsLoadSize is past the first global variable CANID.
Increasing RAMDfunct solved it.
From .map file
abs 0000164a _Cla1funcsLoadSize
abs 000020d7 _RamfuncsLoadSize
abs 000020d7 _RamfuncsRunSize
abs 0000b000 _RamfuncsRunStart
abs 0000d0d7 _RamfuncsRunEnd
0000d001 340 (0000d000) _CANID
An error message should be nice.
Please read this article about pages of memory. You have to be sure there is no overlap among the memory ranges on PAGE 0 and PAGE 1. I suspect RAMDfunct and some other memory range have some overlap.
Thanks and regards,
-George