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.

CCS/MSP430FR5994: Defect in the TI EABI C/C++ Parser

Part Number: MSP430FR5994


Tool/software: Code Composer Studio

I´m currently having problems compiling my CCS project.

A few days ago I tried upgrading to CCS version 8.2.0.00007 but it was impossible for me to program with that known C++ indexing bug, so I downgraded to version 8.1.0.00011 again.

Since then I can´t compile my project, following error message appears:

INTERNAL ERROR: C:\ti\ccsv8\tools\compiler\ti-cgt-msp430_18.9.0.STS\bin\acpia430.exe experienced a segmentation fault
                  while processing function (unknown or file scope) file ../CLoraModule.cpp line 1249
 
This is caused by a defect in the TI EABI C/C++ Parser.
TI Customer Support may be able to suggest a workaround to avoid this.
 
Upgrading to the newest version of the compiler may fix this problem.

Of course I already upgraded the compiler to the newest version, as well as any other software modules except Code Composer itself.

I also tried creating a new project and importing all .cpp and .h files, re-installing CCS and restarting my PC.

The full error message is added here:

**** Build of configuration Debug for project msp430FR5994_IBC_04SH ****

"C:\\ti\\ccsv8\\utils\\bin\\gmake" -k -j 8 all -O 
 
Building file: "../CLoraModule.cpp"
Invoking: MSP430 Compiler
"C:/ti/ccsv8/tools/compiler/ti-cgt-msp430_18.9.0.STS/bin/cl430" -vmspx --code_model=large --data_model=restricted --near_data=none -Ooff --use_hw_mpy=F5 --include_path="C:/ti/ccsv8/ccs_base/msp430/include" --include_path="C:/Projekte/msp430/workspace_v8_x_shaag/msp430FR5994_IBC_04SH" --include_path="C:/Projekte/msp430/workspace_v8_x_shaag/msp430FR5994_IBC_04SH/driverlib/MSP430FR5xx_6xx" --include_path="C:/ti/ccsv8/tools/compiler/ti-cgt-msp430_18.9.0.STS/include" --advice:power=all --advice:hw_config=all --define=__MSP430FR5994__ --define=_MPU_ENABLE -g --printf_support=minimal --diag_warning=225 --diag_wrap=off --display_error_number --silicon_errata=CPU21 --silicon_errata=CPU22 --silicon_errata=CPU40 --preproc_with_compile --preproc_dependency="CLoraModule.d_raw"  "../CLoraModule.cpp"
 
>> Compilation failure
subdir_rules.mk:128: recipe for target 'CLoraModule.obj' failed
"../CLoraModule.cpp", line 50: remark #1544-D: (ULP 13.1) Detected loop counting up. Recommend loops count down as detecting zeros is easier
"../CLoraModule.cpp", line 139: remark #1530-D: (ULP 5.1) Detected divide operation(s). Recommend moving them to RAM during run time or not using as these are processing/power intensive
"../CLoraModule.cpp", line 141: remark #1544-D: (ULP 13.1) Detected loop counting up. Recommend loops count down as detecting zeros is easier
"../CLoraModule.cpp", line 151: remark #1530-D: (ULP 5.1) Detected divide operation(s). Recommend moving them to RAM during run time or not using as these are processing/power intensive
"../CLoraModule.cpp", line 152: remark #1530-D: (ULP 5.1) Detected modulo operation(s). Recommend moving them to RAM during run time or not using as these are processing/power intensive
"../CLoraModule.cpp", line 156: remark #1530-D: (ULP 5.1) Detected divide operation(s). Recommend moving them to RAM during run time or not using as these are processing/power intensive
"../CLoraModule.cpp", line 157: remark #1530-D: (ULP 5.1) Detected divide operation(s). Recommend moving them to RAM during run time or not using as these are processing/power intensive
"../CLoraModule.cpp", line 158: remark #1530-D: (ULP 5.1) Detected modulo operation(s). Recommend moving them to RAM during run time or not using as these are processing/power intensive
"../CLoraModule.cpp", line 141: remark #1544-D: (ULP 13.1) Detected loop counting up. Recommend loops count down as detecting zeros is easier
"../CLoraModule.cpp", line 190: remark #1530-D: (ULP 5.1) Detected divide operation(s). Recommend moving them to RAM during run time or not using as these are processing/power intensive
"../CLoraModule.cpp", line 192: remark #1544-D: (ULP 13.1) Detected loop counting up. Recommend loops count down as detecting zeros is easier
"../CLoraModule.cpp", line 202: remark #1530-D: (ULP 5.1) Detected divide operation(s). Recommend moving them to RAM during run time or not using as these are processing/power intensive
"../CLoraModule.cpp", line 203: remark #1530-D: (ULP 5.1) Detected modulo operation(s). Recommend moving them to RAM during run time or not using as these are processing/power intensive
"../CLoraModule.cpp", line 207: remark #1530-D: (ULP 5.1) Detected divide operation(s). Recommend moving them to RAM during run time or not using as these are processing/power intensive
"../CLoraModule.cpp", line 208: remark #1530-D: (ULP 5.1) Detected divide operation(s). Recommend moving them to RAM during run time or not using as these are processing/power intensive
"../CLoraModule.cpp", line 209: remark #1530-D: (ULP 5.1) Detected modulo operation(s). Recommend moving them to RAM during run time or not using as these are processing/power intensive
"../CLoraModule.cpp", line 192: remark #1544-D: (ULP 13.1) Detected loop counting up. Recommend loops count down as detecting zeros is easier
"../CLoraModule.cpp", line 283: remark #1528-D: (ULP 3.1) Detected flag polling using EUSCI_A_UART_BUSY. Recommend using an interrupt combined with enter LPMx and ISR
"../CLoraModule.cpp", line 274: remark #1544-D: (ULP 13.1) Detected loop counting up. Recommend loops count down as detecting zeros is easier
"../CLoraModule.cpp", line 276: remark #1527-D: (ULP 2.1) Detected SW delay loop using empty loop. Recommend using a timer module instead
"../CLoraModule.cpp", line 338: remark #1528-D: (ULP 3.1) Detected flag polling using EUSCI_A_UART_BUSY. Recommend using an interrupt combined with enter LPMx and ISR
"../CLoraModule.cpp", line 326: remark #1527-D: (ULP 2.1) Detected SW delay loop using empty loop. Recommend using a timer module instead
"../CLoraModule.cpp", line 331: remark #1527-D: (ULP 2.1) Detected SW delay loop using empty loop. Recommend using a timer module instead
"../CLoraModule.cpp", line 333: remark #1527-D: (ULP 2.1) Detected SW delay loop using empty loop. Recommend using a timer module instead
"../CLoraModule.cpp", line 335: remark #1527-D: (ULP 2.1) Detected SW delay loop using empty loop. Recommend using a timer module instead
"../CLoraModule.cpp", line 365: remark #1527-D: (ULP 2.1) Detected SW delay loop using empty loop. Recommend using a timer module instead
"../CLoraModule.cpp", line 367: remark #1527-D: (ULP 2.1) Detected SW delay loop using empty loop. Recommend using a timer module instead
"../CLoraModule.cpp", line 369: remark #1527-D: (ULP 2.1) Detected SW delay loop using empty loop. Recommend using a timer module instead
"../CLoraModule.cpp", line 394: remark #1544-D: (ULP 13.1) Detected loop counting up. Recommend loops count down as detecting zeros is easier
"../CLoraModule.cpp", line 422: remark #2553-D: (ULP 14.1) Array index (involving "i") of type "int". Recommend using "unsigned int"
"../CLoraModule.cpp", line 588: remark #1527-D: (ULP 2.1) Detected SW delay loop using empty loop. Recommend using a timer module instead
"../CLoraModule.cpp", line 718: remark #1530-D: (ULP 5.1) Detected divide operation(s). Recommend moving them to RAM during run time or not using as these are processing/power intensive
"../CLoraModule.cpp", line 719: remark #1530-D: (ULP 5.1) Detected modulo operation(s). Recommend moving them to RAM during run time or not using as these are processing/power intensive
"../CLoraModule.cpp", line 723: remark #1530-D: (ULP 5.1) Detected divide operation(s). Recommend moving them to RAM during run time or not using as these are processing/power intensive
"../CLoraModule.cpp", line 724: remark #1530-D: (ULP 5.1) Detected divide operation(s). Recommend moving them to RAM during run time or not using as these are processing/power intensive
"../CLoraModule.cpp", line 725: remark #1530-D: (ULP 5.1) Detected modulo operation(s). Recommend moving them to RAM during run time or not using as these are processing/power intensive
"../CLoraModule.cpp", line 892: remark #1530-D: (ULP 5.1) Detected divide operation(s). Recommend moving them to RAM during run time or not using as these are processing/power intensive
"../CLoraModule.cpp", line 894: remark #1544-D: (ULP 13.1) Detected loop counting up. Recommend loops count down as detecting zeros is easier
"../CLoraModule.cpp", line 894: remark #1544-D: (ULP 13.1) Detected loop counting up. Recommend loops count down as detecting zeros is easier
"../CLoraModule.cpp", line 1238: remark #1528-D: (ULP 3.1) Detected flag polling using EUSCI_A_UART_BUSY. Recommend using an interrupt combined with enter LPMx and ISR
"../CLoraModule.cpp", line 1194: remark #1544-D: (ULP 13.1) Detected loop counting up. Recommend loops count down as detecting zeros is easier
"../CLoraModule.cpp", line 1195: remark #1527-D: (ULP 2.1) Detected SW delay loop using empty loop. Recommend using a timer module instead
"../CLoraModule.cpp", line 1211: remark #1527-D: (ULP 2.1) Detected SW delay loop using empty loop. Recommend using a timer module instead
 
INTERNAL ERROR: C:\ti\ccsv8\tools\compiler\ti-cgt-msp430_18.9.0.STS\bin\acpia430.exe experienced a segmentation fault
                  while processing function (unknown or file scope) file ../CLoraModule.cpp line 1249
 
This is caused by a defect in the TI EABI C/C++ Parser.
TI Customer Support may be able to suggest a workaround to avoid this.
 
Upgrading to the newest version of the compiler may fix this problem.
 
Contact TI in the E2E support forums at http://e2e.ti.com under
"Development Tools", "TI C/C++ Compiler".  See the link titled
"Submitting an issue".
 
We need to see this ENTIRE error message and a complete, reproducible
test case including ALL of the command-line options.
Include the .pp file created by option --preproc_with_comment
 
gmake: *** [CLoraModule.obj] Error 1
gmake: Target 'all' not remade because of errors.

**** Build Finished ****

Unfortunately I can´t share the project, but do you have any idea what could cause this error?

  • The only way to find the cause of the problem is for us to reproduce it.  

    Simon Haag said:
    Unfortunately I can´t share the project

    You don't have to share the whole project.  Just one file, in preprocessed form.  For the source file CLoraModule.cpp, please submit a test case as described in the article How to Submit a Compiler Test Case.  Please note the part about how you can send the file just to me.

    Thanks and regards,

    -George

  • Thank you for sending in a test case through other channels.  I am able to reproduce the same result.  I filed CODEGEN-5560 in the SDOWP system to have this investigated.  You are welcome to follow it with the SDOWP link below in my signature.

    A workaround to consider ... Disable the ULP diagnostics.  The screen shot below shows where the option is located in project settings.  Click on None.  For those who build from the command line, remove the option --advice:power=all.

    Thanks and regards,

    -George

  • This resolved the issue, thank you so much!

    Best regards
    Simon