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.

Question about printfs from the TCP/IP keepalives

Other Parts Discussed in Thread: SYSBIOS, TM4C1294NCPDT

I am using the following:

ccs 6.1.2  

TIRTOS 2.16.0.08,

compiler 5.2.7 and

XDC 3.31.1333

TM4C1294NCPD

TI network stack NDK.

My question is is there any way to turn off the the printf in CCS for only the TCP/IP keepalives like seen below.  I don't want to change the source since I found the printf is coming from the installation of CCS and the RTOS but I have different PC's so I would prefer if there was a fix in my project configuration so the change would be made in my project config and every environment gets the change.     I don't want to disable all printfs to the window because I use it for other things.

00029.100 TcpTimeoutKeep: Keep Timeout
00049.100 TcpTimeoutKeep: Keep Timeout
00069.100 TcpTimeoutKeep: Keep Timeout
00089.100 TcpTimeoutKeep: Keep Timeout
00109.100 TcpTimeoutKeep: Keep Timeout
00129.100 TcpTimeoutKeep: Keep Timeout
00149.100 TcpTimeoutKeep: Keep Timeout
00169.100 TcpTimeoutKeep: Keep Timeout
00189.100 TcpTimeoutKeep: Keep Timeout
00209.100 TcpTimeoutKeep: Keep Timeout
00229.100 TcpTimeoutKeep: Keep Timeout
00249.100 TcpTimeoutKeep: Keep Timeout
00269.100 TcpTimeoutKeep: Keep Timeout
00289.100 TcpTimeoutKeep: Keep Timeout
00309.100 TcpTimeoutKeep: Keep Timeout
00329.100 TcpTimeoutKeep: Keep Timeout
00349.100 TcpTimeoutKeep: Keep Timeout
00369.100 TcpTimeoutKeep: Keep Timeout
00389.100 TcpTimeoutKeep: Keep Timeout
00409.100 TcpTimeoutKeep: Keep Timeout
00429.100 TcpTimeoutKeep: Keep Timeout
00449.100 TcpTimeoutKeep: Keep Timeout
00469.100 TcpTimeoutKeep: Keep Timeout
00489.100 TcpTimeoutKeep: Keep Timeout
00509.100 TcpTimeoutKeep: Keep Timeout
00529.100 TcpTimeoutKeep: Keep Timeout
00549.100 TcpTimeoutKeep: Keep Timeout

  • Hello Doug,

    I might be a little confused with the 'don't want to change the source' bit here, but the root cause is in the C source code for the tcp stack and not CCS itself. But if you mean the RTOS source code too then unfortunately there isn't a way to turn only that printf off.

    This specific line is coming from the tcptime.c file inside of the void TcpTimeoutKeep( TCPPROT *pt ) API where there is this line:

    DbgPrintf(DBG_INFO,"TcpTimeoutKeep: Keep Timeout");

    So if you removed that, that should solve the issue.

    However, because it is a general debug output, there wouldn't be any other way to target that specific line as one to not print - it would have to be removed from the source code of the RTOS.

    Best Regards,

    Ralph Jacobi

  • The file where the printf comes from is under the path and I did find that file before I posted the question at the location:

    CCS_Install\tirtos_2_16_00_08\products\NDK\stack\tcp\tcptime.c

    I did try to modify the the source file and I still saw the printout so I think that code may be linked in or something anyway.

    If modifying the file to not do the printf worked, that file is not part of the project or the source control for the project so changing the file would only work on the PC I modified the source file on if modifing the file did work.

    Doug

  • Hi Doug,

    I would guess its compiled in a library then and you need to recompile that library.

    Can you check the list of linked libraries for your project? That might clue you in on which library includes these NDK elements.

    Best Regards,

    Ralph Jacobi

  • This specific line is coming from the tcptime.c file inside of the void TcpTimeoutKeep( TCPPROT *pt ) API where there is this line:

    DbgPrintf(DBG_INFO,"TcpTimeoutKeep: Keep Timeout");

    So if you removed that, that should solve the issue.

    The TI Network Developer's Kit (NDK) API Reference Guide explains that the 1st argument to DbgPrintf() is a severity. There is a configuration parameter DbgPrintLevel Debug message print threshold which sets the lowest level of a system debug message which will be reported.

    The default for DbgPrintLevel is DBG_INFO. Changing the DbgPrintLevel configuration parameter to the next highest level of DBG_WARN should suppress the reporting of TcpTimeoutKeep (and any other DBG_INFO messages in the network stack) without having to change the network stack code.

    I haven't tried this myself.

  • in CCS Project properties I have the following:

    Build->Include options:

    "${workspace_loc:/${ProjName}}"

    "${workspace_loc:/${ProjName}/inc}"

    "${COM_TI_RTSC_TIRTOSTIVAC_INSTALL_DIR}/products/TivaWare_C_Series-2.1.1.71b"

    "${COM_TI_RTSC_TIRTOSTIVAC_INSTALL_DIR}/products/bios_6_45_01_29/packages/ti/sysbios/posix"

    "${CG_TOOL_ROOT}/include"

     

    Build->ARM Linker:

                    -mv7M4 --code_state=16 --float_support=FPv4SPD16 --abi=eabi -me -g --gcc --define=ccs="ccs" --define=TARGET_IS_TM4C129_RA1 --define=PART_TM4C1294NCPDT --define=ccs --define=TIVAWARE --diag_warning=225 --diag_warning=255 --diag_wrap=off --display_error_number --gen_func_subsections=on -z -m"ConformGen2.map" --stack_size=1024 --heap_size=0 -i"C:/ccs6p1p2/ccsv6/tools/compiler/ti-cgt-arm_5.2.7/lib" -i"C:/ccs6p1p2/ccsv6/tools/compiler/ti-cgt-arm_5.2.7/include" --reread_libs --diag_wrap=off --display_error_number --warn_sections --xml_link_info="ConformGen2_linkInfo.xml" --rom_model

     

    Build->ARM Linker->File search path

    "${COM_TI_RTSC_TIRTOSTIVAC_INSTALL_DIR}/products/TivaWare_C_Series-2.1.1.71b/driverlib/ccs/Debug/driverlib.lib"

     

    The network was added via the RTOS config tool in the *.cfg file so do I have to check there for the linked in library?

  • Hi Doug,

    I wouldn't think the .cfg has libraries too, but I was just thinking... there are usually two projects associated with the RTOS, the application and the kernel project. Have you re-built the kernel project as well? If not, try that.

    Also would be an interesting test to see if you changed the output of that line, if you see that reflected at all. I searched through the RTOS files again and can't find any other references to TcpTimeoutKeep.

    Best Regards,

    Ralph Jacobi

  • I have never rebuilt a library, are there instructions on how to do that some place?

  • Hello Doug,

    Wasn't meaning that the kernel project is a library - it's just the CCS project which should have the SYS/BIOS / Kernel configuration which is then used by the other RTOS application projects.

    That said if were talking about a library like driverlib in TivaWare, we covered this in our new(ish) Getting Started Guide in Section 4.2! https://www.ti.com/lit/ug/spmu373a/spmu373a.pdf#page=20

    Best Regards,

    Ralph Jacobi