I’m using Xilinx Zynq-7020 SoC with FreeRTOS Kernel V10.5.1 and TCP V3.1.0 and I try to use the Tracealyzer with UDP streaming. The Tracealyzer’s UDP code (trcStreamPort.c) is written with lwip but I change them to the FreeRTOS+TCP. The FreeRTOS+TCP functions are not returning any errors. I’m also using WireShark to monitor the network interface but there no incoming or outgoing packets. I’ve also tried to use the TCP streaming but again no results. How can I diagnose my problem?
May be the EMac or PHY driver which is different between lwip and FreeRTOS+TCP. Usual suspects are the PHY address and MII/RMII mode selection. Have you verified communication between the MCU and the PHY?
Yes, I have checked the communication is correct. I’m sending a broadcast UDP packet periodically so I can ensure that the ethernet is up. I made some research and lwip and FreeRTOS+TCP is very similar. Some of the operations are easier in the FreeRTOS+TCP because it handles some operations itself but not in the lwip.
That is unclear. In your original post you write that Wireshark shows no incoming or outgoing packets, but now you write that your periodic broadcasts are visible?
In the WireShark I can see the periodic messages but not the packets from Tracealyzers. I know the destination and source ports of the periodic messages and I filter them so I can only see the Tracealyzers packets.
EDIT: Apparently Tracealyzer does allow communication over the target’s TCP stack, apologies for not being aware of that novel feature. Still, if a custom communication is visible in the trace, the problem can not really be in the FreeRTS+ stack.
Can you publish your wireshark traces for both the lwip and FreeRTOS scenarios and let us know the affected IP addresses? Thanks!