STM32F429 LWIP project stops all network comms after running for a few hours.
My STM32F429 LWIP project stops all network comms after running for a few hours.
I am hoping that this is a known bug with a known fix. But I would appreciate any insight that anyone can provide.
I have a CubeMX generated project using LWIP and FreeRTOS running on an STM32F429. I have an ethernet interface using a LAN8742A.
After running for a few hours my project stops communicating and does not recover. I think I have ruled out any kind of memory or buffer exhaustion. I suspect a race condition of some sort.
Every time the comms stop, all of the RX descriptors are owned by the CPU and the ethernet RX descriptors are stuck in this same pattern.
The numbers change but RxDescIdx is always (RxBuildDescIdx + 1). And the counts are always = 1.
heth->RxDescList->
ItMode = 1
RxDescIdx = 27
RxDescCnt = 1
RxDataLength = 118
RxBuildDescIdx = 26
RxBuildDescCnt = 1
pRxLastRxDesc = 7734049
FreeRTOS is still running the idle task and my one non-network task. All of my networking tasks are blocked. They all have time outs on their network calls but they do not seem to time out.
I would like to find a way to eliminate this comms bug. But I would settle for a graceful way to detect and recover from it.
