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:
Hello All,
I modifies in CCS older program which was created under compiler version TI v4.1.3, the program works correct. When I compile this program under newer version of TI compiler for example TI v6.4.0 or TI v18.12.1 LTS, the program doesn't work. The program starts from special entry point because there is also boot program in memory. I compared map files that are created by means of compiler TI v4.1.3 and TI v6.4.0.
I have noted that in map file compiled under compiler TI v4.1.3 DSP280x_CodeStartBranch.obj (.text) is on address
codestart
* 0 003e8080 00000002
003e8080 00000002 DSP280x_CodeStartBranch.obj (codestart)
.text 0 003e8082 00008587
003e8082 00000008 DSP280x_CodeStartBranch.obj (.text)
but in map file compiled under compiler TI v6.4.0 DSP280x_CodeStartBranch.obj (.text) is on address
codestart
* 0 003e8080 00000002
003e8080 00000002 DSP280x_CodeStartBranch.obj
.text 0 003e8082 00008c80
003f0cf5 00000008 DSP280x_CodeStartBranch.obj (.text)
Is that correct, DSP280x_CodeStartBranch.obj (.text) on address 003f0cf5?
Could you advice me what is different, when I compiled program under compiler version TI v4.1.3 and TI v6.4.0, because option (-e) entry point == start_code is set same for both compilers.
Best regards
The difference you show between the two builds is legitimate. And it is very unlikely to cause this ...
the program doesn't work
Please read the first part of the article Linker Command File Primer. Focus on understanding the terms ...
The file DSP280x_CodeStartBranch.obj contributes two input sections: codestart and .text. The input section codestart goes on to be the only input section in the output section also named codestart. The .text input section from DSP280x_CodeStartBranch.obj goes on to be one part of the larger output section named .text. The difference between the builds is where the .text input section from DSP280x_CodeStartBranch.obj lands inside of the output section named .text. That is a legitimate difference. That one difference alone is very unlikely to cause the program to fail. The underlying parts of the compiler tools that make all of this work have done it the same way for a very long time, with no issues.
Thanks and regards,
-George