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.

enet_io example not compiling on DK-TM4C129X kit

Other Parts Discussed in Thread: TM4C129XNCZAD, EK-TM4C1294XL

Hi,

I have a DK-TM4C129X kit with a TM4C129XNCZAD processor. I am using Code Composer Studio, and set it up by following the instructions in spmu352.

I imported the enet_io example from the tivaware/examples/boards/dk-tm4c129x, and tried to build it. However, I get the following errors:

Description	Resource	Path	Location	Type
This project was created using a version of compiler that is not currently installed: 5.0.4 [ARM]. Another version of the compiler will be used during build: 5.1.1. Please install the compiler of the required version, or migrate the project to one of the available compiler versions by adjusting project properties.	enet_io		properties	Problems
unresolved symbol Kentec320x240x16_SSD2119Init, first referenced in ./enet_io.obj	enet_io		 	C/C++ Problem
unresolved symbol FrameDraw, first referenced in ./enet_io.obj	enet_io		 	C/C++ Problem
unresolved symbol LocatorInit, first referenced in ./enet_io.obj	enet_io		 	C/C++ Problem
unresolved symbol LocatorAppTitleSet, first referenced in ./enet_io.obj	enet_io		 	C/C++ Problem
unresolved symbol PinoutSet, first referenced in ./enet_io.obj	enet_io		 	C/C++ Problem
unresolved symbol LocatorMACAddrSet, first referenced in ./enet_io.obj	enet_io		 	C/C++ Problem
unresolved symbol http_set_cgi_handlers, first referenced in ./enet_io.obj	enet_io		 	C/C++ Problem
unresolved symbol g_sKentec320x240x16_SSD2119, first referenced in ./enet_io.obj	enet_io		 	C/C++ Problem
unresolved symbol httpd_init, first referenced in ./enet_io.obj	enet_io		 	C/C++ Problem
unresolved symbol http_set_ssi_handler, first referenced in ./enet_io.obj	enet_io		 	C/C++ Problem
unresolved symbol lwIPInit, first referenced in ./enet_io.obj	enet_io		 	C/C++ Problem
unresolved symbol lwIPEthernetIntHandler, first referenced in ./startup_ccs.obj	enet_io		 	C/C++ Problem
unresolved symbol usnprintf, first referenced in ./io.obj	enet_io		 	C/C++ Problem
unresolved symbol lwIPTimer, first referenced in ./enet_io.obj	enet_io		 	C/C++ Problem
#10234-D unresolved symbols remain	enet_io		 	C/C++ Problem
#10010 errors encountered during linking; "enet_io.out" not built	enet_io		 	C/C++ Problem

I expected the example application (since it was written for this specific evaluation kit, after all) to run out of the box. What are causing the errors - did I mess up somewhere?

Thank you.

  • Hello Badvani,

    I just did the same process of importing the enet_io and it compiled without any errors for me in CCSv5

    Looking at the error, it seems some files are missing. Can you check the missing symbols in the directory

    C:\ti\TivaWare_C_Series-2.1.0.12573\examples\boards\dk-tm4c129x\drivers

    and whether it is getting compiled in the compilation logs?

    Regards

    Amit

  • Amit Ashara said:
    I just did the same process

    Perhaps the, "blow by blow" listing of that, "process" will benefit from your currency & skill set.  (i.e. issue has been noted - multiple times past - that "process" may be in need of a rethink and/or further detailing...) 

    Poster's point re: "expecting it to work, "out of the box" seems fair & reasonable."

  • Hello All

    The import and subsequent compilation of the enet_io worked. If we can get the CCS project in a zip we can check what is that is not working.

    Regards

    Amit

  • Hi Amit,

    The project zip file is attached: 3632.enet_io.zip

    I do not know what you mean by checking the symbols in the drivers directory. Here are the contents of my tivaware/examples/boards/dk-tm4c129x/drivers folder:

    tivaware/examples/boards/dk-tm4c129x/drivers/frame.c
    tivaware/examples/boards/dk-tm4c129x/drivers/frame.h
    tivaware/examples/boards/dk-tm4c129x/drivers/kentec320x240x16_ssd2119.c
    tivaware/examples/boards/dk-tm4c129x/drivers/kentec320x240x16_ssd2119.h
    tivaware/examples/boards/dk-tm4c129x/drivers/mx66l51235f.c
    tivaware/examples/boards/dk-tm4c129x/drivers/mx66l51235f.h
    tivaware/examples/boards/dk-tm4c129x/drivers/pinout.c
    tivaware/examples/boards/dk-tm4c129x/drivers/pinout.h
    tivaware/examples/boards/dk-tm4c129x/drivers/sound.c
    tivaware/examples/boards/dk-tm4c129x/drivers/sound.h
    tivaware/examples/boards/dk-tm4c129x/drivers/touch.c
    tivaware/examples/boards/dk-tm4c129x/drivers/touch.h

    Here is the build log:

    **** Build of configuration Debug for project enet_io ****
    
    /opt/ti/ccsv5/utils/bin/gmake -k all 
    Building target: enet_io.out
    Invoking: ARM Linker
    "/opt/ti/ccsv5/tools/compiler/arm_5.1.1/bin/armcl" -mv7M4 --code_state=16 --float_support=FPv4SPD16 --abi=eabi -me -O2 -g --gcc --define=ccs="ccs" --define=PART_TM4C129XNCZAD --define=TARGET_IS_SNOWFLAKE_RA0 --diag_warning=225 --display_error_number --diag_wrap=off --gen_func_subsections=on --ual -z --stack_size=1024 -m"enet_io_ccs.map" --heap_size=0 -i"/opt/ti/ccsv5/tools/compiler/arm_5.1.1/lib" -i"/opt/ti/ccsv5/tools/compiler/arm_5.1.1/include" --reread_libs --warn_sections --display_error_number --diag_wrap=off --xml_link_info="enet_io_linkInfo.xml" --rom_model -o "enet_io.out"  "./startup_ccs.obj" "./io_fs.obj" "./io.obj" "./enet_io.obj" "./cgifuncs.obj" "../enet_io_ccs.cmd" -l"libc.a" -l"/home/badvariant/workspace/tivaware/examples/boards/dk-tm4c129x/enet_io/ccs/../../../../../driverlib/ccs/Debug/driverlib.lib" -l"/home/badvariant/workspace/tivaware/examples/boards/dk-tm4c129x/enet_io/ccs/../../../../../grlib/ccs/Debug/grlib.lib" 
    <Linking>
    
     undefined                    first referenced 
      symbol                          in file      
     ---------                    ---------------- 
     FrameDraw                    ./enet_io.obj    
     Kentec320x240x16_SSD2119Init ./enet_io.obj    
     LocatorAppTitleSet           ./enet_io.obj    
     LocatorInit                  ./enet_io.obj    
     LocatorMACAddrSet            ./enet_io.obj    
     PinoutSet                    ./enet_io.obj    
     g_sKentec320x240x16_SSD2119  ./enet_io.obj    
     http_set_cgi_handlers        ./enet_io.obj    
     http_set_ssi_handler         ./enet_io.obj    
     httpd_init                   ./enet_io.obj    
     lwIPEthernetIntHandler       ./startup_ccs.obj
     lwIPInit                     ./enet_io.obj    
     lwIPTimer                    ./enet_io.obj    
     usnprintf                    ./io.obj         
    
    error #10234-D: unresolved symbols remain
    error #10010: errors encountered during linking; "enet_io.out" not built
    
    >> Compilation failure
    gmake: *** [enet_io.out] Error 1
    gmake: Target `all' not remade because of errors.
    
    **** Build Finished ****
    

    Sorry for being very ignorant regarding the issues at hand here. Thanks.

  • Just an update - I replaced the links in enet_io/drivers with the actual files, and that resulted in a successful compilation. With that being said, the links that were previously in enet_io/drivers did resolve to the correct locations of the files. I do not know why my change fixed the issue I was having.

  • Hello Badvani

    Could it be possible that the installation of the TIVAWare and Example codes were done differently?

    Good to hear that you resolved it through the links.

    Regards

    Amit

  • Amit Ashara said:
    The import and subsequent compilation of the enet_io worked. If we can get the CCS project in a zip we can check what is that is not working.

    Did you import the example with CCS running under Windows or Linux?

    [The original poster looks to be using CCS under Linux]

    With TivaWare 2.1.0.12573 I was able to import and compile the enet_io example for the EK-TM4C1294XL using CCSv6 for Linux.

    However, when the enet_lwip example is imported into CCSv6 under Linux the example failed to compile with the linker reported unresolved symbols. Whereas the enet_lwip example did import and compile without error with CCSv6 under Windows.

    6740.linux_enet_lwip.zip is the enet_lwip example imported with CCSv6 under Linux which failed with unresolved symbols

    1680.windows_enet_lwip.zip is the enet_lwip example imported with CCSv6 under Windows which compiled without error.

    It looks like the enet_lwip example which was imported under Linux has the drivers, third_party and utils directories missing.

  • Chester Gillon said:
    It looks like the enet_lwip example which was imported under Linux has the drivers, third_party and utils directories missing

    The example which was imported under Linux was missing all the source files which are linked-resources.

    In the .project file from the example imported under Windows, the following section was manually copied into the .project file in Linux:

    	<linkedResources>
    		<link>
    			<name>drivers/pinout.c</name>
    			<type>1</type>
    			<locationURI>SW_ROOT/examples/boards/ek-tm4c1294xl/drivers/pinout.c</locationURI>
    		</link>
    		<link>
    			<name>utils/locator.c</name>
    			<type>1</type>
    			<locationURI>SW_ROOT/utils/locator.c</locationURI>
    		</link>
    		<link>
    			<name>utils/lwiplib.c</name>
    			<type>1</type>
    			<locationURI>SW_ROOT/utils/lwiplib.c</locationURI>
    		</link>
    		<link>
    			<name>utils/uartstdio.c</name>
    			<type>1</type>
    			<locationURI>SW_ROOT/utils/uartstdio.c</locationURI>
    		</link>
    		<link>
    			<name>utils/ustdlib.c</name>
    			<type>1</type>
    			<locationURI>SW_ROOT/utils/ustdlib.c</locationURI>
    		</link>
    		<link>
    			<name>third_party/fatfs/port/mmc-ek-tm4c1294xl.c</name>
    			<type>1</type>
    			<locationURI>SW_ROOT/third_party/fatfs/port/mmc-ek-tm4c1294xl.c</locationURI>
    		</link>
    		<link>
    			<name>third_party/fatfs/src/ff.c</name>
    			<type>1</type>
    			<locationURI>SW_ROOT/third_party/fatfs/src/ff.c</locationURI>
    		</link>
    		<link>
    			<name>third_party/lwip-1.4.1/apps/httpserver_raw/httpd.c</name>
    			<type>1</type>
    			<locationURI>SW_ROOT/third_party/lwip-1.4.1/apps/httpserver_raw/httpd.c</locationURI>
    		</link>
    	</linkedResources>
    

    The enet_lwip example then successfully compiled in CCSv6 under Linux.

    Not sure if the problem is that the TivaWare example isn't compatible with Linux, of if there is problem with Linux version of CCSv6.

  • Hello Chester,

    I have a windows installation for CCS and TIVAWare. The drivers, etc are part of the TIVAWare installation and would always be there. Also as you said the makefile was missing the relative links. Now that could be something that can be checked for.

    Regards

    Amit

  • Hi,

    I had recently the same problem with Eclipse Kepler on OSX - the Eclipse cannot manage correctly relative paths for items installed as symbolic links, specially those related to Tiva installation folder. Also seems every time you change a path, Eclipse does not make the internal refresh for that path also. For me the cure was to set an absolute path instead a relative one in Compiler/include search path and to restart the Eclipse. After that, the compile/link process was OK.

    Petrei