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.

Compiler/TM4C129ENCPDT: Incorporating telnetd code

Part Number: TM4C129ENCPDT

Tool/software: TI C/C++ Compiler

Hi, 

I've built a project based upon the enet_weather example program which is working. I've added support for SMTP and some UDP commands along with some other application code. I'm trying to add TELNET capability to the project. I found some TELNET code in location c:ti/TivaWare_C_Series-2.1.4.178/third_party/uip-1.0/apps/telnetd directory. I added a path to the telnetd directory in the ARM Compiler - Include Options. The telnetd directory contains the files telnetd.c, telnetd.h, shell.c, and shell.h. I also added entries to the ARM Compile - Include Options to all access to a couple of other include files listed in the telnet and shell files. I'm able to compile the program successfully but it consistently fails when I add the function telnetd_init() to my code while linking. In my Console Window I see it's Invoking: ARM Linker. I'm getting error 10234-D : unresolved symbol remains and error 10010 : errors encountered during linking. It's failing because telnetd_init() is appearing as an unresolved symbol.

I assume I need to add some entry to the ARM Linker - File Search Path, either to --library or to --search path but I don't know what to add to either of these two windows in order to resolve the issue of my object file referencing telnetd_init because it's unable to find the definition for the function. 

As a reference I'm using snmp_init() successfully in my project which is in location c:ti/TivaWare_C_Series-2.1.4.178/third_party/lwip-1.4.1/src/core/snmp directory in the file msg_in.c. I'm able to compile and link this file and that function into my project with what appears to me to be the default setting in the ARM Linker - File Search Path windows. In my ARM Linker I have a path to driverlib.lib, libc.a and also to CG_TOOL_ROOT/ lib and /include. 

I would prefer to reference these files from the Telnetd directory than to make a copy and add them into my project which I would hope would actually work.

Any suggestions on how to get the TELNETD files to Link into my project would be greatly appreciated. I've searched up and down the forum for a possible solution without any luck

  • I've done a little more testing and I realized that the problem is not a linker issue, it's a compiler issue. It appears that the compiler is not compiling any code in the c:ti/TivaWare_C_Series-2.1.4.178/third_party/uip-1.0/apps/telnetd directory. I was able to open telentd.c from the IDE and when I forced a compile error in telnetd.c the compiler did not find the error and it gave me a link error. I tried the same issue in shell.c without a compiler fault.

    It appears that I can include files from the uip1.0 directory but they are really not part of my project during the compile.

    I've been using the free license for CCS so I wonder if maybe there are some limitations there.

  • Adding files to the "include Options" tells the compiler another location to look for include files, but it does not add source files from that directory to your project. You can simply copy the C files into your project. You can "drag and drop" them into Project Explorer.
  • Hello Michael,

    To add to Bob's comment, I also drew out the basics of how you'd Link files into a CCS project properly. My example was for a UART util, but the steps should work all the same for the telnetd files: e2e.ti.com/.../2787705