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/TMS320F2812: Code Composer V7 compilers issue

Part Number: TMS320F2812


Tool/software: TI C/C++ Compiler

I have an older project that was created using a V5 CCS and complied with TI v6.4.0 compiler. Recently I downloaded a V7 CCS and the problems have begun... First the project would not compile at all with TI V16.9.3. Once I figured out all the problems the code complies without errors, but when I run in the debug mode the program crashes when it tries to load stuff into RAM memory. it gets stuck at the memcpy function. I downloaded the TI v6.4.0 compiler and used it with v7 CCS and it works, but the problem is that the debug features are very limited (is that only in my case or in general?).

I have another computer that I earlier downloaded the v7 CCS with the TI 16.9.3 compiler and everything works fine, as it suppose to. I compared the settings between the two computers and everything looks the same.

I'm using a XDS510LC USB JTAG debugger.

Did anyone have similar issues? Any help is greatly appreciated. Thanks.

  • Could you please provide some additional details:

    1) When you say the debug features are limited when using compiler version 6.4.0 what exactly do you mean? Which features are not working? What debug option is set in the project, is it Full Symbolic Debug (-g)?

    2) 

    Jakub Pankau said:
    I have another computer that I earlier downloaded the v7 CCS with the TI 16.9.3 compiler and everything works fine, as it suppose to. I compared the settings between the two computers and everything looks the same.


    Is this the exact same project that does not work when built and run on the other computer? As a quick test you could also take the .out executable created on this working computer, and load it into the debugger manually on the other computer (see how to do that at this link) and see if that works. That can help isolate the issue a bit more.

    It might also help to take a close look at the build log on both computers to see if there are any differences at all in the build options. You can save off the build logs for both builds and then compare them.

  • Hi AartiG,

    I actually uninstalled everything, deleted all the files and downloaded and installed again and it works, but I ran into a different problem... The project has multiple Configuration / Targets and few of them are returning an error:

    error #10099-D: program will not fit into available memory. run placement with alignment/blocking fails for section "secureRamFuncs" size 0x156a page 0. Available memory ranges:

    RAM_L0 size: 0x1500 unused: 0x1500 max hole: 0x1500

    error #10010: errors encountered during linking; "pt.out" not built

    And it is happening on both computers that I'm running the CCS v7. From what I know all the configurations were compiling without problem with CCSv5 and now only few work. I tried playing with the optimization settings but it made no difference.

  • As indicated in the message, the size of the "secureRamFuncs" section in this case is 0x156a while the size of the available memory region in which it is allocated is 0x1500, hence it does not fit. It is possible that the older compiler used with CCSv5 generated a smaller section size and hence fit within the available memory. Such variation in code size can and do happen between different compiler versions. 

    Some general details about this error is provided here.

    To get around it, you could try one of the following solutions:
    - allocate the secureRamFuncs section to a larger memory range (if one is available) by modifying the SECTIONS specifier in the linker command file
    - increase the length of RAM_L0 in the MEMORY specifier of linker command file, if that is feasible by combining it with its contiguous memory region
    - reduce the size of the section by taking a look at your project code and adjusting what gets allocated to that section

    This page contains a good bit of detail about the linker command file. In addition you can refer to the C28x Assembly Language Tools Users guide if you need to dig deeper into the linker command file syntax.

    Hope this helps!

  • Thanks for the replay. Another solution that I have found that it works was, I changed the Optimization level in Properties. The strange thing is that I went from level 3 (Interprocedure Optimization_ to level 2 (Global Optimization) and now the code complies without problem, where I would say it should be the other way around...