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/PROCESSOR-SDK-K2G: ENOBUFS error at NDK_sendto()

Part Number: PROCESSOR-SDK-K2G

Tool/software: TI-RTOS

Hello.

I'm trying to implement a UDP client program with the K2GEVM arm processor.

Base on the example NIMU_BasicExample_evmK2G, I'v successfully able to send packets to other computer, as long the number of packets that are sent in succession is smaller than 128. when I'm trying to send more than 128 packets (in a for loop) I'm getting ENOBUFS error from the NDK_sendto function. Also the number of packets is not dependent on the packet size that I'm sending (I'm getting the same error for different packet's sizes).

What causing this error and how can I fix it such that I could send multiple packets in a row?

I'm using NDK version of 3.40.01.01 .

Thank you.

Offer.

  • So it seem that I'v manage to overcome this problem.

    The problem was that the Tx queue was filling up before any packet has been sent. The solution was to first make sure that the Network event scheduler task priority is larger than the priority of the task which call the sendto() function, so the scheduler would not be blocked. The second thing was to insert delay between the first packet and the other packets, for some reason it take some time before the Tx queue starting issuing the packets inside it.

  • Thanks for sharing this.  I am closing this thread.

    Best Regards,
    Yordan