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.

Transition to CCS 5.3 and Problems

Other Parts Discussed in Thread: CCSTUDIO

We want to switch from CCS 5.1/5.2 to CCS 5.3  but when we tried out the new version we encountered some problems.


TI C/C++ Error Parser
We import our Projects into CCS as CMake-generated "Eclipse CDT4 - Unix Makefiles"/"Eclipse CDT4 - NMake Makefiles"-Projects.
When building a Make Target in CCS 5.3 with enalbed "TI C/C++ Error Parser" the error parser throws a error for every line, visible in Error Log

The Exception Stack Trace is


"java.lang.NullPointerException
    at com.ti.ccstudio.errorparser.parsers.CoffErrorParser.cleanMarkersPerUnit(CoffErrorParser.java:115)
    at com.ti.ccstudio.errorparser.parsers.CoffErrorParser.processLine(CoffErrorParser.java:191)
    at org.eclipse.cdt.core.ErrorParserManager.processLine(ErrorParserManager.java:361)
    at org.eclipse.cdt.internal.core.ConsoleOutputSniffer.processLine(ConsoleOutputSniffer.java:178)
    at org.eclipse.cdt.internal.core.ConsoleOutputSniffer.access$0(ConsoleOutputSniffer.java:174)
    at org.eclipse.cdt.internal.core.ConsoleOutputSniffer$ConsoleOutputStream.checkLine(ConsoleOutputSniffer.java:99)
    at org.eclipse.cdt.internal.core.ConsoleOutputSniffer$ConsoleOutputStream.write(ConsoleOutputSniffer.java:58)
    at java.io.OutputStream.write(Unknown Source)
    at org.eclipse.cdt.internal.core.ProcessClosure$ReaderThread.run(ProcessClosure.java:55)"


In CCS 5.1 the "TI C/C++ Error Parser" was able to parse the warnings and errors of the make output and show them in the Problem view.


c6000
The Part of our Project which use the c6000 compiler doesn't build with 5.3(tested c6000 7.4.1 and 7.4.2), but did with 5.1(c6000 7.3.1)/5.2(c6000 7.3.4)

It fails at linking, printing the following errors at different occurrences:

error: symbols in the reserved far sections cannot be accessed as near; symbol
   "x" in the far section
   "y" is accessed as near in the section
   "z"


where x and y can be

symbol    far section
_ZGVNSt7codecvtIcciE2idE  

 /opt/ti_5.3.0/ccsv5/tools/compiler/c6000_7.4.2/lib/rts6740_elf_eh.lib<iostream.obj>(.far:_ZGVNSt7codecvtIcciE2idE)
_ZGVNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE

  /opt/ti_5.3.0/ccsv5/tools/compiler/c6000_7.4.2/lib/rts6740_elf_eh.lib<locale.obj>(.far:_ZGVNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE)
_ZGVNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE

 /opt/ti_5.3.0/ccsv5/tools/compiler/c6000_7.4.2/lib/rts6740_elf_eh.lib<locale.obj>(.far:_ZGVNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE)
_ZGVNSt8numpunctIcE2idE    /opt/ti_5.3.0/ccsv5/tools/compiler/c6000_7.4.2/lib/rts6740_elf_eh.lib<locale.obj>(.far:_ZGVNSt8numpunctIcE2idE)

and z are different sections in our code.


So it's seem to be a problem with rts6740_elf_eh.lib

Adding --mem_model:data=far to compile options solve the problem, but a solution which doesn't cost unnecessary processing time would be preferable
What also works(at least to let it build) is copying and using a rts6740_elf_eh.lib from CCS 5.2, but I'm unsure about the side effects.
So is there a way to make it work like it did with CCS 5.1/5.2?

  • mludwig said:
    When building a Make Target in CCS 5.3 with enalbed "TI C/C++ Error Parser" the error parser throws a error for every line, visible in Error Log

    Could you please provide some additional details about your project was originally created and how it was imported?
    - Is this a makefile project rather than a managed make project?
    - How exactly do you import the project? Am I correct in understanding that when you build the project wtih CCS 5.1 and 5.2 there are no errors in the Error log but when you build with CCS 5.3 the errors appear?
    - Can you send us a test case that we can use to reproduce the problem at our end as this would be necessary to further investigate why this is happening.

    mludwig said:
    The Part of our Project which use the c6000 compiler doesn't build with 5.3(tested c6000 7.4.1 and 7.4.2), but did with 5.1(c6000 7.3.1)/5.2(c6000 7.3.4)

    Again, we would need a small reproducible test case to investigate this. In the meantime you could use the workarounds you have already identified. In addition, you can also set CCS 5.3 to use a specific version of the compiler tools. So if CGT version 7.3.4 works fine, then you can set the project in CCS 5.3 to use that specific version of the compiler and not the default version that comes with CCS 5.3. Under Project Properties->General->Advanced Settings, you can click on More next to "Compiler version" and point it to the location of CGT 7.3.4.