I can think of:
- your driver
- your FreeRTOS priorities/loop (aka your port)
- your application not freeing PBUFs properly
- not enough PBUFs

TCP buffers data when you call tcp_write() and sends when you call tcp_output(). If you follow the code with a debugger you can get up to the point where data is sent to the driver. Did you ? Does your data get stuck inside lwIP or inside your driver ? Did you log tcp_output debugging output ?

I can see it looks like TCP is waiting for the ACK to send more data, check if you are freeing properly and have enough memory assigned for these pbufs. What's on your rx side ? What's your tcp_sent() ? Other apps starving pbufs ? The way you handle your pcbs is a bit cumbersome for me, I can't comment on that nor on FreeRTOS.

_______________________________________________
lwip-users mailing list
lwip-users@nongnu.org
https://lists.nongnu.org/mailman/listinfo/lwip-users

Reply via email to