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.

Changing C2000 compiler from 6.1.1 to 6.1.2 breaks the linking



Yesterday I downloaded the latest C2000 compiler (version 6.1.2).

I am using CCS 5.3 on fedora 17. When I change the compiler from 6.1.1 to 6.1.2, it modifies the .cproject file by adding and changing some lines. These changes are  causing the linker to not find sections for HW registers (part of linker warnings posted at the end). Needless to say, this breaks the program.

You can see attached the .cproject file before and after the change.

What do I need to do to fix the program link?

By the way, where are the release notes for C2000 6.1.2?

...

warning #10247-D: creating output section "GpioIntRegsFile" without a SECTIONS
   specification
warning #10247-D: creating output section "I2caRegsFile" without a SECTIONS
   specification
warning #10247-D: creating output section "McbspaRegsFile" without a SECTIONS
   specification
warning #10247-D: creating output section "McbspbRegsFile" without a SECTIONS
   specification
warning #10247-D: creating output section "PartIdRegsFile" without a SECTIONS
   specification
warning #10247-D: creating output section "PieCtrlRegsFile" without a SECTIONS
   specification

...

  • The sections that the linker is complaining about are usually allocated in the DSP2833x_Headers_nonBIOS.cmd file. For these warnings to appear, that .cmd file must be missing from the link.

    Did this file exist in the original project but then somehow got removed/excluded when moving to compiler 6.1.2? That should not have happened simply by changing the compiler version, so if it did we would really like a test case so we can reproduce and analyze the issue. Would you be willing to zip up and share your project with us?

    You should be able to fix the issue though by making sure that .cmd file is part of the project. Let us know if this helps.

  • Thank you for your response. It helped me fix the issue.

    My employer disallows me to share their code and projects, therefore I can't provide you my projects. Is there anything else that I can do to help?

    I just tried to change the compiler in one project and it worked fine for the release mode. In the debug mode, the link to DSP2833x_Headers_nonBios.cmd disappeared. In another project, both in release and debug modes it worked fine.

    As a test, I reverted changes, and changed the compiler two more times. The 2nd time it removed the link to DSP2833x_Headers_nonBios.cmd again, but the 3rd time it worked fine.

    So, it happens randomly.

  • Glad to hear that helped fix the issue.

    Vladimir Jovic said:
    just tried to change the compiler in one project and it worked fine for the release mode. In the debug mode, the link to DSP2833x_Headers_nonBios.cmd disappeared. In another project, both in release and debug modes it worked fine.

    Is there a difference in the way that file is "included" in these two projects? For eg, is it a "linked" source file in both cases?

    Unfortunately, if the behavior is random and we are unable to reproduce it locally there may not be much more we can do to analyze the root cause.

  • AartiG said:

    Is there a difference in the way that file is "included" in these two projects? For eg, is it a "linked" source file in both cases?

    No, it is a link to that cmd file in both projects.