ZYNQ7010:uboot实现PL端以太网
本技术博客介绍了在ZYNQ7010开发板上实现PL端以太网初始化的两种方法。第一种基于Petalinux图形界面,详细说明了工程创建、硬件配置、设备树修改及编译流程。第二种通过U-Boot源码实现,包括defconfig配置、设备树修改、初始化流程分析及编译步骤。两种方法均提供了完整的源码和测试验证步骤,包括网络设备检测、PHY通信测试和ping测试。技术要点涉及Petalinux工程配置、U-Boot设备驱动匹配、AXI以太网初始化流程等,最终成功实现PL端以太网功能验证。。目录一、基于petaliunxu图形化配置界面1.创建petalinux工程2.硬件描述符配置3.更改设备树文件4.编译工程5.生成BOOT.bin文件6、板卡运行二、基于uboot源码1.deconfig文件配置1)以太网相关配置2)配置.dtb文件3)其他可选配置(用于调试)2.设备树更改1)宏定义2)ethernet0属性配置3)gem0节点属性4)拷贝.dtsi文件至uboot工程中3.uboot下以太网初始化流程4.编译uboot源码生成uboot.elf文件5.编译生成BOOT.bin文件6.板卡运行7.源文件一、基于petaliunxu图形化配置界面1.创建petalinux工程在用户目录下创建petalinux文件夹,打开终端,执行:petalinux-create -t project --template zynq -n ALIENTEK-ZYNQ注:创建之前需要在ubantu下安装petalinux2.硬件描述符配置将vivado2018.3中生成的硬件描述文件 system.hdf 导入新建的petalinux2018工程目录下(或vivado2020.1中生成的硬件描述文件 system.xsa导入新建的petalinux2020工程目录下),并执行:#配置petaliunx环境变量 source /opt/pkg/petalinux/2020.2/settings.sh #导入硬件描述符 petalinux-config --get-hw-description=.打开配置界面如图所示:进入 Subsystem AUTO Hardware Settings。进入Ethernet Settings进入Primary Ethernet,设置为axi_ethernet_0在Ethernet Settings下取消勾选 Obtain IP address automatically 选项,将以太网IP改为静态IP,配置IP地址、子网掩码、以及网关IP。之后返回到主界面,选择save,回车选择 ok,回车,摁两次ESC键完成配置。3.更改设备树文件在petalinux工程中的路径 project-spec/meta user/recipes-bsp/device-tree/files/ 下 编辑system-user.dtsi文件,添加完下述内容后保存。/include/ "system-conf.dtsi" / { }; axi_ethernet_0{ local-mac-address = [00 0a 35 00 03 22]; phy-handle = phy1; xlnx,has-mdio = 0x1; phy-mode = "mii"; mdio{ #address-cells = 1; #size-cells = 0; phy1:phy@1{ compatible = "realtek,rtl8201","ethernet-phy-id001c.c816"; device_type = "ethernet-phy"; reg = 0; }; }; };4.编译工程petalinux-build生成的文件在image/liunx路径下5.生成BOOT.bin文件所用到的文件有:u-boot.elf、source /opt/pkg/petalinux/2020.2/settings.sh #或者sptl petalinux-package --boot --fsbl --fpga --u-boot --forc6、板卡运行将BOOT.bin文件拷贝至SD卡中,上电运行:在 U-Boot 命令行中测试:验证网卡是否可用# 查看网络设备 dm tree # 测试 PHY 通信 mii info # 测试网络连通性 setenv ipaddr 192.168.1.100 setenv serverip 192.168.1.1 ping $serverip可见,板卡PL端以太网已配置成功。二、基于uboot源码1.deconfig文件配置文件路径:configs/atk_7010_defconfig1)以太网相关配置# Basic network stack support CONFIG_NET=y CONFIG_NETDEVICES=y CONFIG_PHYLIB=y CONFIG_MII=y CONFIG_DM_ETH=y CONFIG_XILINX_AXIEMAC=y2)配置

相关新闻