I am using microc/os ii + interniche tcp/ip stack.
When I try to send data from FPGA to PC via Ethernet, the program sometimes stuck in the send() function. The data length passed into the send() function is about 13000 bytes and I found that the send function will send 1500 bytes at a time. it will return after all the 13000 bytes are sent. Wireshark shows that the PC can receive 3 packets of 1500 bytes and send 2 acks back to the FPGA. Then the program is stuck and "no free buffers for rx" is printed repeatly. Wireshark shows that the window on both side are not empty. This doesn't happen every time so my guess is that it is OS time related or memory related. Does anyone have any idea how to fix it? :cry: Thank you.