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.

TMS320C6457: NDK Library: send() function

Part Number: TMS320C6457

Hi team,

Our customer was developing their system with TMS320C6457CCMHA and they are evaluating Ethernet function(TCP/IP transaction) with Linux server system. Recently, customer noticed that TMS320C6457 stopped sending TCP packet suddenly (one time /2days). Customer tried to do analysis about this behavior, as the result, customer noticed that NDK_send() was never returned. It mean, it is freeze. Customer configured C6457 while referring the following URL. Customer set “Default TCP send buffer size” to 32768 bytes.

https://processors.wiki.ti.com/index.php/NDK_Dynamic_Memory_Manager#TCP_sockets

When “TCP send buffer size” is changed to 65536 bytes(large size), this issue seems to occur around one hour.

When “TCP send buffer size” is changed to 16384 bytes(small size), customer does not observe this issue at this time.

Regarding Linux server side, it did not detect any error( overflow, miss-acknowledge) when this issue occurred. Customer would like to know the reason why this issue occurs. Is there any restriction for this buffer-size configuration? Can we have your Expert’s advice/comment on this, please?

--

Device : TMS320C6457CCMHA

Tool : CCS Ver.4.2.4.00033

NDK: ver. 2.23.02.03

--

Best regards, Miyazaki

  • Hi,

    Can you get more details on what the system is doing when the freeze occurs? For example, look in ROV to see what task is running (RO->Task->Detailed), do a "Scan for Errors" (ROV->BIOS->Scan for Errors).

    Do they have jumbo packets enabled?

    Do they have a simple project that they can share?

    Todd

  • Hello Todd,

    Thanks for your supports. I’m requesting our customer to share their CCS-project or simple project with us. When we receive this, I’ll share it with you under off-line. Also, I’m requesting ROV information.

    Best regards, Miyazaki

  • Hello Todd,

     Regarding to CCS project, due to customer’s company-regulation, it appears customer is not able to share it … Regarding ROV information, customer created this project by “Release build”. Customer tried to do “Debug-build” and tried to debug it, however, behavior was not same therefore, customer is not able to confirm this issue occurs. Although customer tried to do “RUN FREE”, since behavior is not same as “released build”, this issue does not occurs. Customer already confirmed following points.

    1. Customer confirmed this issue as GPIO signal . if issue occurred, GPIO never indicates Low. This means, send() never returned. To recovery it, it is just hardware-Reset.
    //==========
    
    WriteDebugBit( 0x01 ); //  DSP/GPIO4 output high
    
    tmp = send(s, buf, (int)sendsize, 0)
    
    WriteDebugBit( 0x02 ); // DSP/GPIO4 output low
    
    //==========
    1. Customer is using default configuration for send() function. This means, customer does not set any option in setsockopt
    2. Regarding jumbo packets, Customer has jumbo packets enabled.

     

    If you will be able to share Expert’s advice/comments on this, it is really appreciated.

    Best regards, Miyazaki

  • Hi Miyazaki,

    ROV works with the release build. Do not do a "Run Free". Please have them check the areas I asked about before.

    Todd

  • Hi Todd,

    Thanks for your advice.

    I see, I will ask my customer to check the areas with ROV.

    best regards, Miyazaki