MPC5748G ENET RX interrupt has big delay

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

MPC5748G ENET RX interrupt has big delay

1,178 Views
ningwang
Contributor III

      Hi, I'm using MPC5748G running with FreeRTOS and FreeRTOS-TCP, using ENET0 driver in the SDK EAR0.8.1. When testing ping function from PC to our board, every thing is OK, and ping response within 1ms. But after a long time, about a few hours, ping response time become very long(view in windows cmd), usually several handreds ms and even can't get the response. In wireshark, I can see a miss match seqence number in ICMP reply(the board) to request(the PC), thus cause a big delay. At first, I doubt  it's the problem of TCP/IP stack, but after I make some logs in the ENET0 RX interrupt ISR, find that it did take a long time between the ICMP request is sent, and the borad received this frame. It is this long time, cause the miss match of ICMP reply to request. And sometimes, it seems the  ENET FIFO still stored some frames, will not cause the RX interrupt untill next frame comes, these frames can't be read in time, which will cause the seqence number miss match in ICMP and TCP.

     In this case, resetting the ENET0 driver can fix this problem. What will causing this problem?

     Thanks very much!

Labels (1)
0 Kudos
1 Reply

997 Views
ningwang
Contributor III

Problem is solved. It's the problem of DMA modified unallocated Ring buffer descriptor.

0 Kudos