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.

RTOS/TM4C1290NCPDT: TIVA C NDK connection issue.

Part Number: TM4C1290NCPDT


Tool/software: TI-RTOS

Hi,

Our customer's application based on Tiva C is using TIRTOS and uses NDK module for TCP client application.
Client(Gateway) and slave(TIVA C).

TI-RTOS veriosn - 2.16.01.14

After start-up,the TCP connection gets established after request from the client.
And later MODBUS request from the client is received through NDK's recv() function
and then after the processing this request, TCP connection is closed with a FIN ACK
packet from the Client.

TCP connection request->Modbus Request->Modbus answer->FIN ACK request

When this process is repeated several times(around 10 times),the NDK gets struck and
the control doesn't comeout from recv().

Please let me know if there is any idea to troubleshoot this issue.
Just in case I am attaching the Wireshark LOG detail RST ACK.zip.

Best Regards
Paddu

  • Hi,

    Thanks for detailed description. Just to confirm, the Client's IP address is 10.240.1.130 and the TM4C is 10.240.1.56... correct?

    Could you be running out of memory? When the connection is closed, do you clean-up on the TM4C? A simple test is to increase the memory for the NDK and see if it runs longer. Here is an overview of the memory usage in the NDK: processors.wiki.ti.com/.../TI-RTOS_Networking_Stack_Memory_Usage

    Todd
  • Hi Todd,

    Thank you very much for the quick reply!

    Yes, the Client's IP address is 10.240.1.130 and the TM4C is 10.240.1.56.
    Actually, we have doubled the stack/heap settings for the main program.

    With regards to the memory usage in the NDK,
    do we have to increase Memory Manager buffers,PBM BUffers,Netwrok Task Stack Size,Buffer settings mentioned in the wiki?

    Actually we tried to change "Static Network Buffers" upto 60,
    the outcome was same(10 times), but the control was able to come out of recv(),
    but it was stuck in the task closing function "TaskExit()".

    Best Regards
    Paddu
  • Hi Paddu,

    You probably don't have to increase the memory, but I thought it might point to a memory leak.

    You can enable the debug in the NDK. Take a look in the NDK User Guide's "Application Debug and Troubleshooting" section to see how to enable the debug output.

    Todd
  • Hi,

    Did this get resolved?

    Todd