embeddedsw
embeddedsw copied to clipboard
xxxve Ethernet_ example_ intr_ Mcdma. c driver code problem
1.Run xxxve Ethernet_ example_ intr_ Mcdma. c driver code problem Can't jump out of while (! FramesTx);
Hi, Can you please elaborate what driver code problem are you referring to?
regards, Anirudha
hello, Contains an example on how to use the XXxvetherent driver directly.
Use supporting files xxxvethernet_example_util.c and xxxvethernet_example.h. For details, see xxxvethernet_example_intr_mcdma.c.
Could you please elaborate if you are referring a specific driver code issue? The line while (!FramesTx); will break when the frame transmission over XXV Ethernet IP has completed. Can you please check your design to make sure XXV and MCDMA IPs are setup properly. There is also an example design here - https://github.com/Xilinx-Wiki-Projects/ZCU102-Ethernet/tree/main/2019.2/pl_eth_10g
Hello, I checked that the XXV and MCDMA IP settings are correct, because the IP addresses are the official XILINX IP addresses, and the driver is also an official routine. Why is the expected result of running the driver always waiting while (! FramesTx); Is there no recovery flag bit for hardware interrupt
Another question is, what is the version of this code related to? For example, if I use Vitas and Vivado 2020.2, should the corresponding driver code versions be the same
Another question is, what is the version of this code related to? For example, if I use Vitas and Vivado 2020.2, should the corresponding driver code versions be the same
Yes, that is recommended
Hello, I checked that the XXV and MCDMA IP settings are correct, because the IP addresses are the official XILINX IP addresses, and the driver is also an official routine. Why is the expected result of running the driver always waiting while (! FramesTx); Is there no recovery flag bit for hardware interrupt
The wait loop will exit when the completion interrupt occurs (the completion interrupt increments FramesTx as per the expected behaviour)
After the interruption is completed, the loop does not exit, and FramesTx does not increase automatically. Can I try to assign FramesTx manually? Is there any way to see the local loopback, and the data is successfully received and sent
Hello, the platform we use is ZCU106. Is this code driver incompatible with ZCU106?
Yes, the driver is compatible with ZCU106. Can you please check your design and troubleshoot as per below debug tips? Once the completion interrupt occurs, the received frames are processed (if there are no errors) and the count is increased. No, please do not update FramesTx manually. The example is set up to operate in loopback. You can also read the RX and TX statistics in MCDMA (valid and error packet counts are displayed there) to debug. You can also check the interrupt status register upon entry into the handler and dump the MCDMA buffer descriptors to check if packets are received.