04-07-2021 04:00 AM - edited 04-07-2021 04:01 AM
I'm using LwIP Raw API on Zynq 7020 SoC with my board Eclypse Z7 on the server side. I also have a data logger on pc side to receive the data.
I modified the tcp echo and txperf codes provided by Xilinx. As I send packets using tcp_write, tcp_sndbuf() size becomes smaller(sometimes it decreases as much as the data size I'm trying to send, sometimes lesser than that).
Also, while printing the counter on the python client code, even after snd_buffer fills up, it continue to receive for a few seconds more.
Things I've tried so far are:
1) Changed lwip parameters like tcp_wnd tcp_mss tcp_send_buf but none of them helped.
2) Added usleep to main while loop with values between 100us to 1sec to see if the receiving end can not catch the rate of transmission. Unfortunately, this didnt also work.
3) Tried matlab and c code in client side rather than python to see, but the results were same.
4) I was mainly sending my ADC data, so I removed it and added constant buffer of 1024 bytes of zeros to see if it stalls the program, but again the same result.
5) There is a DMA with Interrupt enabled, I also removed it but there is no change.
I'm trying to deal with this issue since last week, any help&advice is appreciated. Please.
Thanks in advance.
04-07-2021 05:43 AM
Hi @ebaser ,
LWIP is an open source which Xilinx packaged it up as a library for ease of use by our customers.
I'd recommend going on the lwip forum to ask for recommendations.
04-07-2021 06:02 AM