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.

EK-TM4C1294XL: undefined first referenced: lwIPInit

Part Number: EK-TM4C1294XL
Other Parts Discussed in Thread: TM4C1294NCPDT

Hi

I just had my hands on a TM4C1294XL board and wanted to try some networking.

I have set up all include paths, and I have a lwipops.h file (copied from one of the examples).

Unfortunate, I am unable to build a simple project (just receiving an IP address for now).

It fails with the error:

**** Build of configuration Debug for project controller ****

"C:\\ti\\ccs1250\\ccs\\utils\\bin\\gmake" -k -j 8 all -O

Building target: "controller.out"
Invoking: Arm Linker
"C:/ti/ccs1250/ccs/tools/compiler/ti-cgt-arm_20.2.7.LTS/bin/armcl" -mv7M4 --code_state=16 --float_support=FPv4SPD16 -me --define=ccs="ccs" --define=PART_TM4C1294NCPDT --define=TARGET_IS_TM4C129_RA0 --define=EK_TM4C129_BP1 -g --gcc --diag_warning=225 --diag_wrap=off --display_error_number --abi=eabi -z -m"controller.map" --heap_size=0 --stack_size=512 -i"C:/ti/ccs1250/ccs/tools/compiler/ti-cgt-arm_20.2.7.LTS/lib" -i"C:/ti/ccs1250/ccs/tools/compiler/ti-cgt-arm_20.2.7.LTS/include" -i"C:/ti/TivaWare_C_Series-2.2.0.295/driverlib/ccs" --reread_libs --diag_wrap=off --display_error_number --warn_sections --xml_link_info="controller_linkInfo.xml" --rom_model -o "controller.out" "./main.obj" "./tm4c1294ncpdt_startup_ccs.obj" "../tm4c1294ncpdt.cmd" -llibc.a -l"C:/ti/TivaWare_C_Series-2.2.0.295/driverlib/ccs/Debug/driverlib.lib" -l"C:/ti/TivaWare_C_Series-2.2.0.295/grlib/ccs/Debug/grlib.lib"
<Linking>

undefined first referenced
symbol in file
--------- ----------------
lwIPInit ./main.obj

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

Linked libraries are libc.a, driverlib.lib and grlib.lib.
It feels like something is missing...

  • HI,

      I will suggest you 'import' one of the stock TivaWare Ethernet examples into CCS. Make sure you import, not copy the example. When you import all the project settings (include paths and library) are also imported. They should build right out of box. The examples will have the stock lwipopts.h file that you can modify to suit your application. The examples can be found at:

  • Using the enet_lwip example, I miss some files...

    C:/ti/TivaWare_C_Series-2.2.0.295/utils/lwiplib.c", line 49: fatal error: cannot open source file "third_party/lwip-1.4.1/src/api/api_lib.c

    (and indeed, there is no file like that to be found...).

  • Hi,

      Did you 'import' the project and have the correct include Options? The api_lib.c file is in third_party/lwip-1.4.1/src/api/api_lib.c but you need to make sure you CCS include Options can search it.