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.

Compiler/TMS320F28377S: Issue in linker Ti 18.1.5

Genius 5910 points
Part Number: TMS320F28377S

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.