1. 开发环境
Windows SDK 2017.4
Ubuntu Petalinux 2017.4
硬件平台:米联客ZYNQ开发板MIZ7035
2. 开发目标
在ZYNQ上使用网络接口。调通PS侧网口GEM0(本文阐述)。
3. 预备知识
(1) 熟悉ZYNQ网口硬件资源
阅读《xapp1082 - PS and PL Ethernet Performance and Jumbo Frame Support with PL Ethernet.pdf》,在Introduction一节可知,ZYNQ芯片支持三个网口:
PS-GEM0:PS侧内置MAC,通过RGMII接口连接到外部PHY芯片。不支持Jumbo Frame。见下图紫线。
PS-GEM1:PS侧内置MAC,通过EMIO接口连接PL侧的PHY(1000BASE-X或SGMII)。不支持Jumbo Frame。见下图蓝线。
PL侧软核MAC,连接PL侧的PHY(1000BASE-X或SGMII)。支持Jumbo Frame。见下图红线。
其中PS-GEM0是独立的,而PS-GEM1与PL侧软MAC共用一个MAC和输出接口,因此二者不能同时使用。
image.png
(2) 我们所使用的网口硬件资源
我们使用的PS-GEM0网口由如下几部分组成:PS侧MAC + PS侧 GMII to RGMII转换器 + PS侧外接PHY芯片(Micrel KSZ9031RN)。因此我们的Linux驱动也需要从这三方面来着