ZYNQ Linux 下 AXI Ethernet使用记录

版本信息:

  Vivado:2016.4

  Linux:Ubuntu16.4

  ZYNQ:xc7z020

 

1. Vivado下搭建好AXI Ethernet框架后(参考xapp1082),建议现在裸机环境下创建LWIP工程测试硬件的连通性,不过LWIP有时候也偶有bug,尤其在多个AXI Ethernet的情况下。

 

2. AXI ethernet 的设备树比较复杂,参考如下链接直接由vivado生成后修改:

     https://blog.csdn.net/ryuuei_1984/article/details/52367444

  修改设备树的时候注意有些参数是数字组成的,有些是引用名称的,修改成数字的过程多对照上下文修改。

 

3. 由于AXI Ethernet是纯FPGA搭建起来的MAC,因此在启动的过程中驱动需要访问相应寄存器,但是FPGA的bit文件设计是启动后再加载的,因此如果直接在内核编译过程中打开驱动的话会导致运行报错,这里选择将驱动配置成手动加载的模式。系统启动后先加载FPGA,然后加载驱动。手动加载驱动的方法见上一条博客。

 

4. AXI Ethernet默认不支持fixed-link模式,加载驱动的时候报错Connection timed out,跟踪发现是axienet_open函数里有访问MDIO的函数调用返回失败,手动屏蔽MDIO的访问函数后重新编译加载驱动没有出现再报错的情况:

 

posted @ 2020-02-26 23:25  huakaimanlin的博客  阅读(4029)  评论(0编辑  收藏  举报