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/TM4C123GE6PM: Undefined symbol - Tiva Driver library and USB library problem - can't build

Part Number: TM4C123GE6PM
Other Parts Discussed in Thread: EK-TM4C123GXL

Tool/software: Code Composer Studio

Hello,

I upgraded to CCS v8.0 and am trying to start a new project and import my old source code.  This is because my old project had some broken link and I wanted to start fresh to get rid of those since I was upgrading.  For example, sometimes in the debugger it would break because it was looking for a source file that had a computer name in the path to the source file that wasn't my computer name, but an old previous computer name.  Instead of trying to track this down which was difficult I wanted to start fresh with 8.0 and import my source code.

I've run into a problem doing this because I can't seem to get the tiva ware library linked.  I get the following errors:

**** Build of configuration Debug for project DR500 ****

"C:\\ti\\ccsv8\\utils\\bin\\gmake" -k -j 4 all -O
 
Building target: "DR500.out"
Invoking: ARM Linker
"C:/ti/ccsv8/tools/compiler/ti-cgt-arm_18.1.1.LTS/bin/armcl" -mv7M4 --code_state=16 --float_support=FPv4SPD16 -me --define=ccs="ccs" --define=PART_TM4C123GE6PM -g --gcc --diag_warning=225 --diag_wrap=off --display_error_number --abi=eabi -z -m"DR500.map" --heap_size=0 --stack_size=512 -i"C:/ti/TivaWare_C_Series-2.1.4.178/driverlib/ccs" -i"C:/ti/ccsv8/tools/compiler/ti-cgt-arm_18.1.1.LTS/lib" -i"C:/ti/ccsv8/tools/compiler/ti-cgt-arm_18.1.1.LTS/include" --reread_libs --diag_wrap=off --display_error_number --warn_sections --xml_link_info="DR500_linkInfo.xml" --rom_model -o "DR500.out" "./ADC_configuration.obj" "./ADC_configuration_TestMode.obj" "./Backup of main.obj" "./Debug.obj" "./EEPROM_configuration.obj" "./FRAM0.obj" "./FRAM1.obj" "./FRAM2.obj" "./FRAM3.obj" "./Functions.obj" "./I2C_Functions.obj" "./SSI1_Functions.obj" "./SSI_Functions.obj" "./USB_Structures.obj" "./WTimer0.obj" "./main.obj" "./startup_ccs.obj" "./tm4c123ge6pm_startup_ccs.obj" "../tm4c123ge6pm.cmd"  -llibc.a -l"C:/ti/TivaWare_C_Series-2.1.4.178/driverlib/ccs/Debug/driverlib.lib"
<Linking>
error #10056: symbol "ResetISR" redefined: first defined in "./startup_ccs.obj"; redefined in "./tm4c123ge6pm_startup_ccs.obj"
error #10056: symbol "g_pfnVectors" redefined: first defined in "./startup_ccs.obj"; redefined in "./tm4c123ge6pm_startup_ccs.obj"
 
 undefined                  first referenced       
  symbol                        in file            
 ---------                  ----------------       
 ROM_IntMasterDisable       ./main.obj             
 ROM_IntMasterEnable        ./main.obj             
 ROM_SysCtlDelay            ./main.obj             
 ROM_SysCtlPeripheralEnable ./main.obj             
 ROM_SysCtlPeripheralReset  ./main.obj             
 ROM_SysCtlUSBPLLEnable     ./main.obj             
 ROM_SysTickDisable         ./main.obj             
 ROM_SysTickIntDisable      ./main.obj             
 ROM_UpdateUSB              ./main.obj             
 USB0DeviceIntHandler       ./startup_ccs.obj      
 USBDCDTerm                 ./main.obj             
 USBDHIDInit                ./main.obj             
 USBDHIDPacketRead          ./USB_Structures.obj   
 USBDHIDReportWrite         ./ADC_configuration.obj
 USBDHIDTxPacketAvailable   ./ADC_configuration.obj
 USBStackModeSet            ./main.obj             
 
error #10234-D: unresolved symbols remain
 
error #10010: errors encountered during linking; "DR500.out" not built
>> Compilation failure
makefile:159: recipe for target 'DR500.out' failed
gmake[1]: *** [DR500.out] Error 1
makefile:155: recipe for target 'all' failed
gmake: *** [all] Error 2

**** Build Finished ****

Does anyone have any advice?  I've tried linking them as shown below in the screenshots.

  • Hello Robbie,

    Our advice is when making a new project that uses components like driverlib to take an existing TM4C example project straight out of TivaWare and use that as the basis so you have all the proper links to TivaWare already handled.

    From what I can see you are likely missing either (or both) the correct #include's for files, or that Driverlib isn't linked into your project project properly so it cannot find the files. The latter issue is most quickly resolved by starting from a TivaWare example that already has those links established.
  • Hi Ralph,

    I opened the "interrupts" example from:
    TivaWare_C_Series-2.1.4.178\examples\boards\ek-tm4c123gxl\interrupts\ccs

    When I try to build I get this error:

    Error: Program "make" is not found in PATH


    How do I add the make executable and where is it? These example programs currently aren't working either.
  • Hello Robbie,

    How did you import the example project into CCS? I will try and replicate on my CCSv8.0.
  • I just used the File -> Import -> CCS Projects and browsed to projects.

    Is there a users manual that describes the different options in CCS in detail - also any other extra CCS documentation to support customers? 

  • Hello Robbie,

    There probably are but I am not a CCS expert so I am not sure what to recommend. The best I can offer is: processors.wiki.ti.com/.../Category:Code_Composer_Studio_v8

    I know there are some YouTube videos about the basics you can search for as well.

    Regarding the issue with the CCS build problem, can you post a screenshot of the console output with the error, or the text from the console output? I can't replicate it on my end currently.

    Also where is your TivaWare installed to? Is it at C:/ti or another location?
  • I installed it here:
    C:\ti\TivaWare_C_Series-2.1.4.178

    I got my original project up and running by comparing the project settings with the ccs 7.4 project. After going through all of that I finally got my new project up and running in ccs 8.0 as a clean slate. I'll study up on ccs some more if possible.

    I don't want to waste anymore time on this - it must have been a linking/source file problem.

    Thanks for the support!