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/TM4C129ENCPDT: Unresolved symbols remain

Part Number: TM4C129ENCPDT

Tool/software: Code Composer Studio

Hi,

I am trying to compile a project. I think I have all the libraries included but I am still getting this error;

Building target: "ExtCurMeasSystemWithTCP_IP_ExcludingLibraries.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 -O0 --opt_for_speed=5 --define=ccs="ccs" --define=TARGET_IS_TM4C129_RA1 --define=PART_TM4C129ENCPDT -g --gcc --diag_warning=225 --diag_wrap=off --display_error_number --abi=eabi -z -m"ExtCurMeasSystemWithTCP_IP_ExcludingLibraries.map" --heap_size=0 --stack_size=1024 -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" -i"C:/ti/TivaWare_C_Series-2.1.4.178/driverlib/ccs/Debug/driverlib.lib" --reread_libs --diag_wrap=off --display_error_number --warn_sections --xml_link_info="ExtCurMeasSystemWithTCP_IP_ExcludingLibraries_linkInfo.xml" --rom_model -o "ExtCurMeasSystemWithTCP_IP_ExcludingLibraries.out" "./TCPServer.obj" "./functions.obj" "./hr_gettime.obj" "./main.obj" "./mem_sections.obj" "./tm4c129encpdt_startup_ccs.obj" "./FreeRTOS/croutine.obj" "./FreeRTOS/event_groups.obj" "./FreeRTOS/list.obj" "./FreeRTOS/queue.obj" "./FreeRTOS/tasks.obj" "./FreeRTOS/timers.obj" "./FreeRTOS/portable/CCS/ARM_CM4F/port.obj" "./FreeRTOS/portable/CCS/ARM_CM4F/portasm.obj" "./FreeRTOS/portable/MemMang/heap_2.obj" "./driverlib/adc.obj" "./driverlib/aes.obj" "./driverlib/can.obj" "./driverlib/comp.obj" "./driverlib/cpu.obj" "./driverlib/crc.obj" "./driverlib/des.obj" "./driverlib/eeprom.obj" "./driverlib/emac.obj" "./driverlib/epi.obj" "./driverlib/epi_workaround_ccs.obj" "./driverlib/flash.obj" "./driverlib/fpu.obj" "./driverlib/gpio.obj" "./driverlib/hibernate.obj" "./driverlib/i2c.obj" "./driverlib/interrupt.obj" "./driverlib/lcd.obj" "./driverlib/mpu.obj" "./driverlib/pwm.obj" "./driverlib/qei.obj" "./driverlib/shamd5.obj" "./driverlib/ssi.obj" "./driverlib/sw_crc.obj" "./driverlib/sysctl.obj" "./driverlib/sysexc.obj" "./driverlib/systick.obj" "./driverlib/timer.obj" "./driverlib/uart.obj" "./driverlib/udma.obj" "./driverlib/usb.obj" "./driverlib/watchdog.obj" "./drivers/pinout.obj" "./utils/uartstdio.obj" "./utils/ustdlib.obj" "../tm4c129encpdt.cmd" -llibc.a -l"C:/ti/TivaWare_C_Series-2.1.4.178/driverlib/ccs/Debug/driverlib.lib"
<Linking>

undefined first referenced
symbol in file
--------- ----------------
FreeRTOS_GetAddressConfiguration ./main.obj
FreeRTOS_accept ./TCPServer.obj
FreeRTOS_bind ./TCPServer.obj
FreeRTOS_closesocket ./TCPServer.obj
FreeRTOS_listen ./TCPServer.obj
FreeRTOS_recv ./TCPServer.obj
FreeRTOS_setsockopt ./TCPServer.obj
FreeRTOS_shutdown ./TCPServer.obj
FreeRTOS_socket ./TCPServer.obj
lUDPLoggingPrintf ./main.obj
vEthInterruptHandler ./tm4c129encpdt_startup_ccs.obj

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

>> Compilation failure
makefile:203: recipe for target 'ExtCurMeasSystemWithTCP_IP_ExcludingLibraries.out' failed
gmake[1]: *** [ExtCurMeasSystemWithTCP_IP_ExcludingLibraries.out] Error 1
makefile:199: recipe for target 'all' failed
gmake: *** [all] Error 2

**** Build Finished ****

Here are the snapshots;

Any help, appreciated.

Thanks All

  • I have verified that the files exist in the location I provided in the search path.
  • Hello Sahil,

    Can you export the project and attach it? I can then try and resolve the build issues.

    I am not too familiar with the FreeRTOS include requirements, so I am not sure off the top of my head how to guide you through this, so it'd be best if I can muddle around on CCS and figure it out by starting from where you are currently stuck.
  • llo Ralph,

    Attached is the project and the library version I am using.

    Please note, a very similar project is working. All the libraries including FreeRTOS and FreeRTOS+TCP is working fine with another project.

    I have already tried creating a fresh new project from fresh and reproducing same problems.

    Also note, the FreeRTOS is inclusive in the project directory while FreeRTOS+TCP is located externally .

    Project:

    Libraries:

  • Any luck?
  • Hello Sahil,

    to get FreeRTOS_GetAddressConfiguration symbol rsolved
    you need to compile ./FreeRTOS-Plus/Source/FreeRTOS-Plus-TCP/FreeRTOS_IP.c and link the related object file.
    You have similar issue with other unresolved symbols, probably.
  • ./FreeRTOS-Plus/Source/FreeRTOS-Plus-TCP/FreeRTOS_Sockets.c:2076: Socket_t FreeRTOS_accept( Socket_t xServerSocket, struct freertos_sockaddr *pxAddress, socklen_t *pxAddressLength )
    ./FreeRTOS-Plus/Source/FreeRTOS-Plus-TCP/FreeRTOS_Sockets.c:899:BaseType_t FreeRTOS_bind( Socket_t xSocket, struct freertos_sockaddr * pxAddress, socklen_t xAddressLength )
    ./FreeRTOS-Plus/Source/FreeRTOS-Plus-TCP/FreeRTOS_Sockets.c:1086:BaseType_t FreeRTOS_closesocket( Socket_t xSocket )
    ./FreeRTOS-Plus/Source/FreeRTOS-Plus-TCP/FreeRTOS_Sockets.c:2627: BaseType_t FreeRTOS_listen( Socket_t xSocket, BaseType_t xBacklog )
    ./FreeRTOS-Plus/Source/FreeRTOS-Plus-TCP/FreeRTOS_Sockets.c:2202: BaseType_t FreeRTOS_recv( Socket_t xSocket, void *pvBuffer, size_t xBufferLength, BaseType_t xFlags )
    ./FreeRTOS-Plus/Source/FreeRTOS-Plus-TCP/FreeRTOS_Sockets.c:1274:BaseType_t FreeRTOS_setsockopt( Socket_t xSocket, int32_t lLevel, int32_t lOptionName, const void *pvOptionValue, size_t xOptionLength )
    ./FreeRTOS-Plus/Source/FreeRTOS-Plus-TCP/FreeRTOS_Sockets.c:2686: BaseType_t FreeRTOS_shutdown( Socket_t xSocket, BaseType_t xHow )
    ./FreeRTOS-Plus/Source/FreeRTOS-Plus-TCP/FreeRTOS_Sockets.c:265:Socket_t FreeRTOS_socket( BaseType_t xDomain, BaseType_t xType, BaseType_t xProtocol )

    ./FreeRTOS-Plus/Source/FreeRTOS-Plus-TCP/portable/NetworkInterface/ksz8851snl/ksz8851snl.c:70:int lUDPLoggingPrintf( const char *pcFormatString, ... );
    ./FreeRTOS-Plus/Source/FreeRTOS-Plus-TCP/portable/NetworkInterface/STM32F7xx/stm32f7xx_hal_eth.c:105:int lUDPLoggingPrintf( const char *pcFormatString, ... );
    ./FreeRTOS-Plus/Source/FreeRTOS-Plus-TCP/portable/NetworkInterface/STM32Fxx/stm32f4xx_hal_eth.c:104:int lUDPLoggingPrintf( const char *pcFormatString, ... );

    Where tm4c129encpdt_startup_ccs.c (or asm) comes from?
  • Hi,

    The file is system generated at the time of creating new project .

    I have compiled exactly the same project and is working fine with another microcontroller TM4C1294CPDT furthermore, I have also successfully run the code generated for TM4C1294CPDT on TM4C129ENCPDT. However when I try to make a separate project specifically for TM4C129ENCPDT . It dosent work and throws linking errors. 

    One thing very clear, there is no issue with FreeRTOS and FreeRTOS+TCP as it gets compiled successfully on TM4C124CPDT.

    Plus I have also tried a different approach by including all libraries inside the project directory including Tiva Libraries, FreeRTOS and FreeRTOS+TCP doing so confuses the compiler and it doesn't recognizes many functions.

  • Do you use the latest CCS and tools chain?
  • What is your console output after build?
  • Here is the output.

  • Why do not you try to compile and link files I listed in one of my previous posts?
    You should have vEthInt... on the undefined symbol list.
    Do not try to link all available libs.
  • Thanks Tom,

    I tried compiling the files individually, and it didnt work either.

    How I compiled files individually, By clinking on the individual files that is raising the errors, and then compiling the whole project. It still stuck at same errors.

  • Ralph,

    Did you get the zipped version of the project?
    Were you able to reproduce the problem.

    This is not yet resolved, while i can see on my page saying "TI thinks resolved" ?
  • Hello Sahil,

    I haven't worked with FreeRTOS projects myself and Tomasz clearly has experience that I do not with how to get proper compilation, thus I was recommending you follow his guidance.

    Are the errors you get when trying to individually compile identical to what you see when compiling the whole project?
  • I took a long way to fix the problem. Long story short, I included all libraries inside the project and removed some files that were not required. I also found very weired thing with CCS i.e. In the directory window, it would show some files and even folders that would otherwise doesnt exist. I manually deleted those files shown in the directory window by right clicking on the files and deleting them. So step after step I made it work now.

    Thanks Ralph and Tomasz for your time and help.
  • You need to add required files from my list to the project.
    I do recommend you to add links to needed files with a reference to the FREE RTOS install folder version within a path.
    If you need help to do that, let me know.