I recently started having a problem building TI RTOS projects in CCS. The board I'm using is the MSP432 launchpad. From what I remember, there wasn't anything I did to have caused a change in the way projects would normally compile. All demos and new projects for the MSP432 don't work including empty projects. CCS specifically gives me two sets of errors. To give some context as to what I was doing when this happened, I was working with TI RTOS SPI and GPIO modules. The first error goes something along the lines of,
"C:/ti/tirtos_msp43x_2_14_03_28/products/MSPWare_2_00_00_40c/driverlib/MSP432P4xx/pmap.h", line 76: warning #48-D: incompatible redefinition of macro "P1MAP" (declared at line 1286 of "C:\ti\ccsv6\ccs_base\arm\include\msp432p401r.h")
and the second is
"../MSP_EXP432P401R.c", line 100: error #20: identifier "INT_DMA_ERR" is undefined
I believe this last error is with relation to interrupt vectors.
I am using CCS version 6.1.1.000222
TI-RTOS v. 2.14.3.28
Compiler: TI v15.12.1.LTS
Here is the result from the console when an attempt is made to compile the "empty minimal" demo project from TI Resource Center which should compile just fine (and has in the past):
**** Build of configuration Debug for project empty_min_MSP_EXP432P401R_TI_MSP432P401R ****
"C:\\ti\\ccsv6\\utils\\bin\\gmake" -k all
'Building file: ../empty_min.cfg'
'Invoking: XDCtools'
"C:/ti/xdctools_3_31_01_33_core/xs" --xdcpath="C:/ti/tirtos_msp43x_2_14_03_28/packages;C:/ti/tirtos_msp43x_2_14_03_28/products/bios_6_42_03_35/packages;C:/ti/tirtos_msp43x_2_14_03_28/products/uia_2_00_02_39/packages;C:/ti/ccsv6/ccs_base;" xdc.tools.configuro -o configPkg -t ti.targets.arm.elf.M4F -p ti.platforms.msp432:MSP432P401R -r release -c "C:/ti/ccsv6/tools/compiler/ti-cgt-arm_15.12.1.LTS" --compileOptions "-mv7M4 --code_state=16 --float_support=FPv4SPD16 -me --include_path=\"C:/ti/ccsv6/ccs_base/arm/include\" --include_path=\"C:/ti/ccsv6/tools/compiler/ti-cgt-arm_15.12.1.LTS/include\" --include_path=\"C:/ti/ccsv6/ccs_base/arm/include/CMSIS\" --include_path=\"C:/ti/CCS_Workspace/empty_min_MSP_EXP432P401R_TI_MSP432P401R\" --include_path=\"C:/ti/tirtos_msp43x_2_14_03_28/products/MSPWare_2_00_00_40c/driverlib/inc/CMSIS\" --include_path=\"C:/ti/tirtos_msp43x_2_14_03_28/products/MSPWare_2_00_00_40c/driverlib/inc\" --include_path=\"C:/ti/tirtos_msp43x_2_14_03_28/products/MSPWare_2_00_00_40c/driverlib/MSP432P4xx\" --include_path=\"C:/ti/tirtos_msp43x_2_14_03_28/packages/ti/drivers/wifi/cc3100/Simplelink\" --include_path=\"C:/ti/tirtos_msp43x_2_14_03_28/packages/ti/drivers/wifi/cc3100/Simplelink/Include\" --advice:power=all -g --gcc --define=__MSP432P401R__ --define=TARGET_IS_MSP432P4XX --define=ccs --define=MSP432WARE --diag_wrap=off --diag_warning=225 --diag_warning=255 --display_error_number --gen_func_subsections=on --abi=eabi " "../empty_min.cfg"
making package.mak (because of package.bld) ...
generating interfaces for package configPkg (because package/package.xdc.inc is older than package.xdc) ...
configuring empty_min.xem4f from package/cfg/empty_min_pem4f.cfg ...
generating custom ti.sysbios library makefile ...
Starting build of library sources ...
making C:/ti/CCS_Workspace/empty_min_MSP_EXP432P401R_TI_MSP432P401R/src/sysbios/sysbios.aem4f ...
gmake[1]: Entering directory `C:/ti/CCS_Workspace/empty_min_MSP_EXP432P401R_TI_MSP432P401R/src/sysbios'
clem4f C:/ti/tirtos_msp43x_2_14_03_28/products/bios_6_42_03_35/packages/ti/sysbios/BIOS.c ...
asmem4f C:/ti/tirtos_msp43x_2_14_03_28/products/bios_6_42_03_35/packages/ti/sysbios/family/arm/m3/Hwi_asm.sv7M ...
asmem4f C:/ti/tirtos_msp43x_2_14_03_28/products/bios_6_42_03_35/packages/ti/sysbios/family/arm/m3/Hwi_asm_switch.sv7M ...
asmem4f C:/ti/tirtos_msp43x_2_14_03_28/products/bios_6_42_03_35/packages/ti/sysbios/family/arm/m3/IntrinsicsSupport_asm.sv7M ...
asmem4f C:/ti/tirtos_msp43x_2_14_03_28/products/bios_6_42_03_35/packages/ti/sysbios/family/arm/m3/TaskSupport_asm.sv7M ...
arem4f BIOS.obj m3_Hwi_asm.obj m3_Hwi_asm_switch.obj m3_IntrinsicsSupport_asm.obj m3_TaskSupport_asm.obj ...
gmake[1]: Leaving directory `C:/ti/CCS_Workspace/empty_min_MSP_EXP432P401R_TI_MSP432P401R/src/sysbios'
Build of libraries done.
clem4f package/cfg/empty_min_pem4f.c ...
"package/cfg/empty_min_pem4f.c", line 2318: remark #1542-D: (ULP 12.1) Detected memcpy() and recommend using DMA instead if greater than 100 words being transferred
"package/cfg/empty_min_pem4f.c", line 1865 (col. 13): remark #1531-D: (ULP 5.2) Detected floating point operation(s). Recommend moving them to RAM during run time or not using as these are processing/power intensive
'Finished building: ../empty_min.cfg'
' '
1 file(s) copied.
making ../src/sysbios/sysbios.aem4f ...
gmake[1]: Entering directory `C:/ti/CCS_Workspace/empty_min_MSP_EXP432P401R_TI_MSP432P401R/src/sysbios'
gmake[1]: Nothing to be done for `all'.
gmake[1]: Leaving directory `C:/ti/CCS_Workspace/empty_min_MSP_EXP432P401R_TI_MSP432P401R/src/sysbios'
'Building file: ../MSP_EXP432P401R.c'
'Invoking: MSP432 Compiler'
"C:/ti/ccsv6/tools/compiler/ti-cgt-arm_15.12.1.LTS/bin/armcl" -mv7M4 --code_state=16 --float_support=FPv4SPD16 -me --include_path="C:/ti/ccsv6/ccs_base/arm/include" --include_path="C:/ti/ccsv6/tools/compiler/ti-cgt-arm_15.12.1.LTS/include" --include_path="C:/ti/ccsv6/ccs_base/arm/include/CMSIS" --include_path="C:/ti/CCS_Workspace/empty_min_MSP_EXP432P401R_TI_MSP432P401R" --include_path="C:/ti/tirtos_msp43x_2_14_03_28/products/MSPWare_2_00_00_40c/driverlib/inc/CMSIS" --include_path="C:/ti/tirtos_msp43x_2_14_03_28/products/MSPWare_2_00_00_40c/driverlib/inc" --include_path="C:/ti/tirtos_msp43x_2_14_03_28/products/MSPWare_2_00_00_40c/driverlib/MSP432P4xx" --include_path="C:/ti/tirtos_msp43x_2_14_03_28/packages/ti/drivers/wifi/cc3100/Simplelink" --include_path="C:/ti/tirtos_msp43x_2_14_03_28/packages/ti/drivers/wifi/cc3100/Simplelink/Include" --advice:power=all -g --gcc --define=__MSP432P401R__ --define=TARGET_IS_MSP432P4XX --define=ccs --define=MSP432WARE --diag_wrap=off --diag_warning=225 --diag_warning=255 --display_error_number --gen_func_subsections=on --abi=eabi --preproc_with_compile --preproc_dependency="MSP_EXP432P401R.pp" --cmd_file="configPkg/compiler.opt" "../MSP_EXP432P401R.c"
"C:/ti/tirtos_msp43x_2_14_03_28/products/MSPWare_2_00_00_40c/driverlib/MSP432P4xx/pmap.h", line 76: warning #48-D: incompatible redefinition of macro "P1MAP" (declared at line 1286 of "C:\ti\ccsv6\ccs_base\arm\include\msp432p401r.h")
"C:/ti/tirtos_msp43x_2_14_03_28/products/MSPWare_2_00_00_40c/driverlib/MSP432P4xx/pmap.h", line 77: warning #48-D: incompatible redefinition of macro "P2MAP" (declared at line 1287 of "C:\ti\ccsv6\ccs_base\arm\include\msp432p401r.h")
"C:/ti/tirtos_msp43x_2_14_03_28/products/MSPWare_2_00_00_40c/driverlib/MSP432P4xx/pmap.h", line 78: warning #48-D: incompatible redefinition of macro "P3MAP" (declared at line 1288 of "C:\ti\ccsv6\ccs_base\arm\include\msp432p401r.h")
"C:/ti/tirtos_msp43x_2_14_03_28/products/MSPWare_2_00_00_40c/driverlib/MSP432P4xx/pmap.h", line 79: warning #48-D: incompatible redefinition of macro "P4MAP" (declared at line 1289 of "C:\ti\ccsv6\ccs_base\arm\include\msp432p401r.h")
"C:/ti/tirtos_msp43x_2_14_03_28/products/MSPWare_2_00_00_40c/driverlib/MSP432P4xx/pmap.h", line 80: warning #48-D: incompatible redefinition of macro "P5MAP" (declared at line 1290 of "C:\ti\ccsv6\ccs_base\arm\include\msp432p401r.h")
"C:/ti/tirtos_msp43x_2_14_03_28/products/MSPWare_2_00_00_40c/driverlib/MSP432P4xx/pmap.h", line 81: warning #48-D: incompatible redefinition of macro "P6MAP" (declared at line 1291 of "C:\ti\ccsv6\ccs_base\arm\include\msp432p401r.h")
"C:/ti/tirtos_msp43x_2_14_03_28/products/MSPWare_2_00_00_40c/driverlib/MSP432P4xx/pmap.h", line 82: warning #48-D: incompatible redefinition of macro "P7MAP" (declared at line 1292 of "C:\ti\ccsv6\ccs_base\arm\include\msp432p401r.h")
"../MSP_EXP432P401R.c", line 100: error #20: identifier "INT_DMA_ERR" is undefined
"../MSP_EXP432P401R.c", line 211: error #20: identifier "INT_EUSCIB0" is undefined
"../MSP_EXP432P401R.c", line 394: error #20: identifier "INT_DMA_INT1" is undefined
"../MSP_EXP432P401R.c", line 406: error #20: identifier "INT_DMA_INT2" is undefined
"../MSP_EXP432P401R.c", line 495: error #20: identifier "INT_EUSCIA0" is undefined
"../MSP_EXP432P401R.c", line 507: error #20: identifier "INT_EUSCIA2" is undefined
"../MSP_EXP432P401R.c", line 568: error #20: identifier "INT_WDT_A" is undefined
"../MSP_EXP432P401R.c", line 611: error #20: identifier "INT_PORT2" is undefined
"../MSP_EXP432P401R.c", line 75: remark #1534-D: (ULP 7.1) Detected use of global variable "dmaInitialized" within one function "MSP_EXP432P401R_initDMA". Recommend placing variable in the function locally
"../MSP_EXP432P401R.c", line 77: remark #1534-D: (ULP 7.1) Detected use of global variable "dmaHwiStruct" within one function "MSP_EXP432P401R_initDMA". Recommend placing variable in the function locally
8 errors detected in the compilation of "../MSP_EXP432P401R.c".
>> Compilation failure
gmake: *** [MSP_EXP432P401R.obj] Error 1
'Building file: ../empty_min.c'
'Invoking: MSP432 Compiler'
"C:/ti/ccsv6/tools/compiler/ti-cgt-arm_15.12.1.LTS/bin/armcl" -mv7M4 --code_state=16 --float_support=FPv4SPD16 -me --include_path="C:/ti/ccsv6/ccs_base/arm/include" --include_path="C:/ti/ccsv6/tools/compiler/ti-cgt-arm_15.12.1.LTS/include" --include_path="C:/ti/ccsv6/ccs_base/arm/include/CMSIS" --include_path="C:/ti/CCS_Workspace/empty_min_MSP_EXP432P401R_TI_MSP432P401R" --include_path="C:/ti/tirtos_msp43x_2_14_03_28/products/MSPWare_2_00_00_40c/driverlib/inc/CMSIS" --include_path="C:/ti/tirtos_msp43x_2_14_03_28/products/MSPWare_2_00_00_40c/driverlib/inc" --include_path="C:/ti/tirtos_msp43x_2_14_03_28/products/MSPWare_2_00_00_40c/driverlib/MSP432P4xx" --include_path="C:/ti/tirtos_msp43x_2_14_03_28/packages/ti/drivers/wifi/cc3100/Simplelink" --include_path="C:/ti/tirtos_msp43x_2_14_03_28/packages/ti/drivers/wifi/cc3100/Simplelink/Include" --advice:power=all -g --gcc --define=__MSP432P401R__ --define=TARGET_IS_MSP432P4XX --define=ccs --define=MSP432WARE --diag_wrap=off --diag_warning=225 --diag_warning=255 --display_error_number --gen_func_subsections=on --abi=eabi --preproc_with_compile --preproc_dependency="empty_min.pp" --cmd_file="configPkg/compiler.opt" "../empty_min.c"
'Finished building: ../empty_min.c'
' '
gmake: Target `all' not remade because of errors.
**** Build Finished ****
I've been working on figuring this out for a while now and I don't have a clue. Thanks for any help!