Hi All,
At the moment I'm running a CPU intensive task but allowing the ethernet DMA interrupt to trigger whenever it gets a packet, then after that task completes I allow the received packets to be processed in the netconn_recv() area. However I can't continue to let the DMA interrupt that task because the timing is critical.
So I turned off the DMA interrupt and just manually released the semaphore that would normally be called (unblocking ethernetif_input) at the end of the critical task to let it get any data from the DMA buffers. The problem with this is that I only get 8 packets at the end of the critical task inside of ethernetif_input. Normally I get 15-20. I have increased ETH_RXBUFNB to 25 but it's not helping.
Any ideas on how to increase the DMA buffer space?
Thanks,
Luke.