LPC1788 - ENET_IRQHandler()

Discussion created by lpcware Employee on Jun 15, 2016
Latest reply on Jun 15, 2016 by lpcware
Content originally posted in LPCWare by LPC_Buzz on Wed Jul 17 14:53:08 MST 2013

I'm using NXP's EMAC Driver lpc177x_8x_emac.c.
When a packet is received, in the ENET_IRQHandler() a callback function registred as Emac_ConfigStruct.pfnFrameReceive is called.

If I spend a longer time processing the packet in this function (and implicitly in the interrupt routine) and during this a second packet is received, [u]it will not fire the interrupt again[/u]. The interrupt will be fired later, when the third packet arrives, and the EMAC driver will present actually the second packet as being ready to be processed.

In this scenario, I will receive the packet number N only when packet N+1 arrives.

Any idea how can I troubleshoot this? Making the interrupt routine faster works, but I need to make the system work in my scenario, with slower ENET_IRQHandler().

Thank you.