zynq linux ip配置,ZYNQ+linux网口调试笔记(2)PS-GEM1

1. 开发环境

Windows SDK 2017.4

Ubuntu Petalinux 2017.4

硬件平台:米联客ZYNQ开发板MIZ7035

2. 开发目标

在ZYNQ上使用gigE Vision协议的网络接口相机。

第一步:调通PS侧网口GEM0(Xilinx BSP默认配好)。

第二步:调通PS侧网口GEM1(本文阐述)。

第三步:调通PL侧网口。

第四步:在PL侧网口上验证Jumbo Frame特性,并在应用层适配gigE Vision协议。

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和输出接口,因此二者不能同时使用。

60386d0fd521

image.png

(2) 验证网口硬件和hdf文件

我们先从裸机程序入手,来验证硬件和hdf文件的正确性。

利用Xilinx提供的LwIP例程,我们将板子作为TCP echo server,然后在PC上发TCP包给网口GEM1,发现可以收到回应。这说明硬件和hdf文件没问题。

(3) 熟悉petalinux网口驱动开发过程

根据《xapp1082》可知,GEM1的PHY支持1000Base-X和SGMII两种配置,这两种配置对应两种不同的PHY引脚接口(连接到MAC)。而我们的hdf文件使用的是1000Base-X的配置。

关于网口的Linux驱动,我们在官网找到一份资料:Xilinx Wiki - Zynq PL Ethernet。资料很长,我们只看与我们相关的“2.3.1 PS-EMIO BSP installation for 1000Base-X”这一章节就可以了。

将其解压到我们的工作目录下,得到xapp1082_2017_4/,其内容如下:

60386d0fd521

image.png

先读一下README.TXT和Readme_workaround.txt.txt:

从README.TXT里可知:Supported Device(s): Zynq-7000 SOC (45T-FFG900, ZC706 board)

从Readme_workaround.txt.txt可知,我们需要在FSBL代码si5324.c里,添加如下两个宏(后文会照做):

#define XPAR_GIGE_P

  • 1
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值