裸机中 zynq 中的以太网驱动程序实现

Ethernet driver implementation in zynq in bare metal

我开始使用 Zybo,但我很迷茫。我想在开发板和 PC 之间建立以太网连接,运行在 Zybo 中使用裸机应用程序。

我已经尝试使 Xilinx 驱动程序 emacps 的示例工作(这对我来说似乎不是很简单...),但我没有看到任何结果。我正在 运行 在 PC 中使用 Zybo 和 Wireshark 上的示例。据我所知,我应该从板上收到一些帧,但我什么也没看到(在板子上电后我看到很多帧,但它们不是从我的应用程序发送的)。

我还 运行 定期发送一些帧的 PTP 示例应用程序。 Tx 完成中断在发送帧后被调用,但没有数据包从以太网端口出来(我使用的是 wireshark,甚至 link 和 act led 不是 blinking)。

也许我对示例应该做的事情有误。我只是想学习发送和接收帧的最简单方法,看看它是否有效...

有什么帮助吗?

您可以通过 Zybo 板使用示例应用程序成功传输帧,只需等待 auto-negotiation 完成即可。检查 ZYNQ 手册中第 16.3.4 节的步骤 4 ("Configure the PHY")。

需要注意的另一件事是示例应用程序可能是为另一个 PHY 编写的。通过查看以太网初始化中配置的PHY寄存器,我假设它是ZC706板的Marvell PHY。

关于在Zybo板中使用以太网接口,我写了一篇详细的教程。我建议您查看:http://igorfreire.com.br/zynq-ethernet-interface-zybo-board/