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.