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.

CCS / TMS320C6657:TMS320C6657 Network data reception problem

Part Number: TMS320C6657


Tool/software: Code Composer Studio

TMS320C6657 as a client and PC or other development board as a server to send and receive TCP data, currently want to send data at 10ms / frame speed, and can receive data at any time. So I create a 10ms period timer and an Ethernet Receives Interrupt which interrupt number is 99.

However, each time the DSP runs the send function, the DSP enters the Ethernet  receive interrupt when the other side does not send a data packet (in the case of TCP,other will not happen), and it will enter multiple times. But after running the recvnc function, it does not receive any data and returns -1. 

Also, when the recvnc function does not receive data, it will run for a long time(about 0.7s).

the send function and the recvnc function is ndk Library Functions,ndk version number is ndk_2_24_03_35.

1.Is there any way to solve the problem of TCP error triggering EMAC reception interrupt?

2.Is there any way to solve the problem that the recvnc function runs slow when it does not receive data?

 

  • Hi,

    What is the application code you used for C6657 as the TCP client? Do you use TI Processor SDK RTOS NIMU example for C6657? So I create a 10ms period timer and an Ethernet Receives Interrupt which interrupt number is 99. What is the purpose of timer interrupt? At every 10ms when ISR is entered, what do you do? ....calling the "recvnc function does not receive data" =====>Is this called in your timer ISR? 

     I thought our TI NIMU driver already has Rx interrupt for packets received from Ethernet port, that is what you need to use. Also you can refer to the NIMU_emacExampleClient_EVMC6657C66BiosExampleProject. This is a TCP server example. You may adapt to a TCP client.

    Regards, Eric