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/TIDM-1002: Gas Library Example project does not build, undefined symbols

Part Number: TIDM-1002
Other Parts Discussed in Thread: MSP430FR5994

Tool/software: Code Composer Studio

Hello TI experts,

I am playing around with the TIDM-1002 Ultrasonic Gas Meter Front-End With MSP430 Reference design. I am trying to build the example project provided with the gasLibrary in Code Composer Studio, however, there seems to be a linking problem. I am attaching to this post a copy of the complete build log, while here you can find the problematic part:

'Invoking: MSP430 Linker'
"C:/ti/ccsv7/tools/compiler/ti-cgt-msp430_16.9.6.LTS/bin/cl430" -vmspx --data_model=restricted -O3 --opt_for_speed=5 --use_hw_mpy=F5 --advice:power="none" --advice:hw_config=all --define=__MSP430FR5994__ --define=_MPU_ENABLE -g --printf_support=full --diag_warning=225 --diag_wrap=off --display_error_number --silicon_errata=CPU21 --silicon_errata=CPU22 --silicon_errata=CPU40 -z -m"msp-expfr5994_gas_afe_bp_fire_capture_processing.map" --heap_size=160 --stack_size=160 --cinit_hold_wdt=on -i"C:/ti/ccsv7/ccs_base/msp430/include" -i"C:/ti/ccsv7/ccs_base/msp430/lib/5xx_6xx_FRxx" -i"C:/ti/ccsv7/ccs_base/msp430/lib/FR59xx" -i"C:/ti/ccsv7/tools/compiler/ti-cgt-msp430_16.9.6.LTS/lib" -i"C:/ti/ccsv7/tools/compiler/ti-cgt-msp430_16.9.6.LTS/include" --priority --reread_libs --define=_MPU_ENABLE --diag_wrap=off --display_error_number --warn_sections --xml_link_info="msp-expfr5994_gas_afe_bp_fire_capture_processing_linkInfo.xml" --use_hw_mpy=F5 --rom_model -o "msp-expfr5994_gas_afe_bp_fire_capture_processing.out" "./hmi.obj" "./main.obj" "./GASMeteringLibraryConfig/gasMeteringUserConfig.obj" "./common/gui/GUI_Comm.obj" "./common/gui/TI_SerialComm.obj" "./common/gui/hal_uart.obj" "./common/hal/msp430fr5xx_6xx/gasMeteringHAL.obj" "./common/hal/msp430fr5xx_6xx/hal.obj" "./common/hal/msp430fr5xx_6xx/hal_adc.obj" "./common/hal/msp430fr5xx_6xx/hal_clk.obj" "./common/hal/msp430fr5xx_6xx/hal_dma.obj" "./common/hal/msp430fr5xx_6xx/hal_gpio.obj" "./common/hal/msp430fr5xx_6xx/hal_spi.obj" "./common/hal/msp430fr5xx_6xx/hal_timer.obj" "./common/hal/msp430fr5xx_6xx/hmiHAL.obj" "./driverlib/MSP430FR5xx_6xx/adc12_b.obj" "./driverlib/MSP430FR5xx_6xx/aes256.obj" "./driverlib/MSP430FR5xx_6xx/comp_e.obj" "./driverlib/MSP430FR5xx_6xx/crc.obj" "./driverlib/MSP430FR5xx_6xx/crc32.obj" "./driverlib/MSP430FR5xx_6xx/cs.obj" "./driverlib/MSP430FR5xx_6xx/dma.obj" "./driverlib/MSP430FR5xx_6xx/esi.obj" "./driverlib/MSP430FR5xx_6xx/eusci_a_spi.obj" "./driverlib/MSP430FR5xx_6xx/eusci_a_uart.obj" "./driverlib/MSP430FR5xx_6xx/eusci_b_i2c.obj" "./driverlib/MSP430FR5xx_6xx/eusci_b_spi.obj" "./driverlib/MSP430FR5xx_6xx/framctl.obj" "./driverlib/MSP430FR5xx_6xx/framctl_a.obj" "./driverlib/MSP430FR5xx_6xx/gpio.obj" "./driverlib/MSP430FR5xx_6xx/lcd_c.obj" "./driverlib/MSP430FR5xx_6xx/mpu.obj" "./driverlib/MSP430FR5xx_6xx/mpy32.obj" "./driverlib/MSP430FR5xx_6xx/pmm.obj" "./driverlib/MSP430FR5xx_6xx/ram.obj" "./driverlib/MSP430FR5xx_6xx/ref_a.obj" "./driverlib/MSP430FR5xx_6xx/rtc_b.obj" "./driverlib/MSP430FR5xx_6xx/rtc_c.obj" "./driverlib/MSP430FR5xx_6xx/sfr.obj" "./driverlib/MSP430FR5xx_6xx/sysctl.obj" "./driverlib/MSP430FR5xx_6xx/timer_a.obj" "./driverlib/MSP430FR5xx_6xx/timer_b.obj" "./driverlib/MSP430FR5xx_6xx/tlv.obj" "./driverlib/MSP430FR5xx_6xx/wdt_a.obj" "../lnk_msp430fr5994.cmd"  -llibmpu_init.a -l"C:/ti/msp/gasLibrary_1_10_00_11/lib/gasMetering/CCS/gasMetering.a" -llibmath.a -llibc.a 
<Linking>

 undefined  first referenced                                                                                                               
  symbol        in file                                                                                                                    
 ---------  ----------------                                                                                                               
 LEASCCMA   C:\ti\msp\gasLibrary_1_10_00_11\lib\gasMetering\CCS\gasMetering_CCS_large_code_restricted_data.lib<leasc.o>                    
 LEASCCMCTL C:\ti\msp\gasLibrary_1_10_00_11\lib\gasMetering\CCS\gasMetering_CCS_large_code_restricted_data.lib<gasMeteringLibConfig.o>     
 LEASCCNF0  C:\ti\msp\gasLibrary_1_10_00_11\lib\gasMetering\CCS\gasMetering_CCS_large_code_restricted_data.lib<gasMeteringLibConfig.o>     
 LEASCCNF1  C:\ti\msp\gasLibrary_1_10_00_11\lib\gasMetering\CCS\gasMetering_CCS_large_code_restricted_data.lib<gasMeteringLibConfig.o>     
 LEASCCNF2  C:\ti\msp\gasLibrary_1_10_00_11\lib\gasMetering\CCS\gasMetering_CCS_large_code_restricted_data.lib<gasMeteringLibConfig.o>     
 LEASCIE    C:\ti\msp\gasLibrary_1_10_00_11\lib\gasMetering\CCS\gasMetering_CCS_large_code_restricted_data.lib<gasMeteringLibConfig.o>     
 LEASCMT    C:\ti\msp\gasLibrary_1_10_00_11\lib\gasMetering\CCS\gasMetering_CCS_large_code_restricted_data.lib<gasMeteringLibConfig.o>     
 LEASCPMCB  C:\ti\msp\gasLibrary_1_10_00_11\lib\gasMetering\CCS\gasMetering_CCS_large_code_restricted_data.lib<gasMeteringLibMeasurement.o>
 LEASCPMCTL C:\ti\msp\gasLibrary_1_10_00_11\lib\gasMetering\CCS\gasMetering_CCS_large_code_restricted_data.lib<gasMeteringLibConfig.o>     
 LEASCPMDST C:\ti\msp\gasLibrary_1_10_00_11\lib\gasMetering\CCS\gasMetering_CCS_large_code_restricted_data.lib<gasMeteringLibConfig.o>     
 LEASCPMS0  C:\ti\msp\gasLibrary_1_10_00_11\lib\gasMetering\CCS\gasMetering_CCS_large_code_restricted_data.lib<gasMeteringLibConfig.o>     
 LEASCPMS1  C:\ti\msp\gasLibrary_1_10_00_11\lib\gasMetering\CCS\gasMetering_CCS_large_code_restricted_data.lib<gasMeteringLibConfig.o>     

error #10234-D: unresolved symbols remain
error #10010: errors encountered during linking; "msp-expfr5994_gas_afe_bp_fire_capture_processing.out" not built

As you can see, many symbols referenced in the gas Library are undefined. Since the gas library code is proprietary, I do not know how to solve this issue, because I have no idea where these definitions could be located. Can you help me find them?

I am using:

  • GasLibrary_1_10_00_11 and I am trying to build its example project msp-expfr5994_gas_afe_bp
  • Code Composer Studio 7.4.0.00015.
  • Windows 7 x64

Compilation and linking options are the ones defined in the example project, I have not changed anything. However I am also attaching a BuildConfig.txt file in which I have copied all command line options as given to me by CCS in project properties. 

Compiler Flags:
-vmspx --data_model=restricted -O3 --opt_for_speed=5 --use_hw_mpy=F5 --include_path="C:/ti/ccsv7/ccs_base/msp430/include" --include_path="D:/LabMet/Desktop/CCSLocalWorkspace/msp-expfr5994_gas_afe_bp_fire_capture_processing" --include_path="D:/LabMet/Desktop/CCSLocalWorkspace/msp-expfr5994_gas_afe_bp_fire_capture_processing/common/gui" --include_path="D:/LabMet/Desktop/CCSLocalWorkspace/msp-expfr5994_gas_afe_bp_fire_capture_processing/common/hal/msp430fr5xx_6xx" --include_path="D:/LabMet/Desktop/CCSLocalWorkspace/msp-expfr5994_gas_afe_bp_fire_capture_processing/driverlib/MSP430FR5xx_6xx" --include_path="D:/LabMet/Desktop/CCSLocalWorkspace/msp-expfr5994_gas_afe_bp_fire_capture_processing/GASMeteringLibraryConfig" --include_path="C:/ti/msp/gasLibrary_1_10_00_11/include" --include_path="C:/ti/ccsv7/tools/compiler/ti-cgt-msp430_16.9.6.LTS/include" --advice:power="none" --advice:hw_config=all --define=__MSP430FR5994__ --define=_MPU_ENABLE -g --printf_support=full --diag_warning=225 --diag_wrap=off --display_error_number --silicon_errata=CPU21 --silicon_errata=CPU22 --silicon_errata=CPU40

Linker Flags:
-vmspx --data_model=restricted -O3 --opt_for_speed=5 --use_hw_mpy=F5 --advice:power="none" --advice:hw_config=all --define=__MSP430FR5994__ --define=_MPU_ENABLE -g --printf_support=full --diag_warning=225 --diag_wrap=off --display_error_number --silicon_errata=CPU21 --silicon_errata=CPU22 --silicon_errata=CPU40 -z -m"msp-expfr5994_gas_afe_bp_fire_capture_processing.map" --heap_size=160 --stack_size=160 --cinit_hold_wdt=on -i"C:/ti/ccsv7/ccs_base/msp430/include" -i"C:/ti/ccsv7/ccs_base/msp430/lib/5xx_6xx_FRxx" -i"C:/ti/ccsv7/ccs_base/msp430/lib/FR59xx" -i"C:/ti/ccsv7/tools/compiler/ti-cgt-msp430_16.9.6.LTS/lib" -i"C:/ti/ccsv7/tools/compiler/ti-cgt-msp430_16.9.6.LTS/include" --priority --reread_libs --define=_MPU_ENABLE --diag_wrap=off --display_error_number --warn_sections --xml_link_info="msp-expfr5994_gas_afe_bp_fire_capture_processing_linkInfo.xml" --use_hw_mpy=F5 --rom_model
5280.Build.log

  • Hi Giulio,

    It looks like this library was built using the older and now updated symbols that access the LEA peripheral within the device. I've alerted the team responsible for this code and will let you know as soon as I find a workaround. Thank you for your patience.

    Best regards,
    Caleb Overbay

  • Thank you for your help.
  • Hi Giulio,

    This problem is caused by a change in the definition of registers between CCS versions.

    One option could be to rebuild the Gas library to update the project to the latest version of CCS; however, an easier and faster alternative is to add the definition of these registers to your CCS.

    I'm attaching a modified linker file (lnk_msp430fr5994.cmd), a modified definition of registers (msp430fr5994_mod.cmd), and a modified .projectspec file (msp-expfr5994_gas_afe_bp_fire_capture_processing.projectspec). 

    Basically, the linker file was modified not to include the default register definition file from the system; and then you should add the file with modified definition of registers to your project. 

    Regards,

    Luis R 

    https://e2e.ti.com/cfs-file/__key/communityserver-discussions-components-files/166/3225.lnk_5F00_msp430fr5994.cmdhttps://e2e.ti.com/cfs-file/__key/communityserver-discussions-components-files/166/msp430fr5994_5F00_mod.cmdhttps://e2e.ti.com/cfs-file/__key/communityserver-discussions-components-files/166/msp_2D00_expfr5994_5F00_gas_5F00_afe_5F00_bp_5F00_fire_5F00_capture_5F00_processing.projectspec

  • Thank you, this solved the problem.

**Attention** This is a public forum