news 2026/6/20 16:10:32

ZYNQ7010:uboot实现PL端以太网

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
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下安装petalinux

2.硬件描述符配置

        将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 --forc

6、板卡运行

将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_defconfig

1)以太网相关配置

# Basic network stack support CONFIG_NET=y CONFIG_NETDEVICES=y CONFIG_PHYLIB=y CONFIG_MII=y CONFIG_DM_ETH=y CONFIG_XILINX_AXIEMAC=y

2)配置

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/20 15:58:19

【UE源码精读-ActionRPG】存档系统02:异步写盘与读档链路

[TOC] 导读 上一篇 SaveInventory 把背包从"指针态"翻译成"货号态"&#xff0c;塞进了 GameInstance.CurrentSaveGame 的内存缓存&#xff0c;最后甩出一句 WriteSaveGame() 就收工了。这一篇接着走完两段路&#xff1a; 写盘&#xff1a;WriteSaveGame 怎…

作者头像 李华
网站建设 2026/6/20 15:28:57

嵌入式GUI多语言支持:从编码原理到emWin实战指南

1. 嵌入式GUI多语言支持&#xff1a;从原理到实战的完整指南在开发面向全球市场的嵌入式设备时&#xff0c;无论是工业HMI触摸屏、智能家电的控制面板&#xff0c;还是便携式医疗设备的操作界面&#xff0c;多语言支持都是一个绕不开的核心需求。这不仅仅是把界面上的“OK”按钮…

作者头像 李华
网站建设 2026/6/20 15:01:58

Linux下gpgsplit命令详解:OpenPGP数据包拆分与安全分析实战

1. 项目概述&#xff1a;为什么需要关注gpgsplit&#xff1f; 在Linux的日常运维、安全审计或者软件包管理工作中&#xff0c;我们经常会与GnuPG&#xff08;GNU Privacy Guard&#xff09;打交道。无论是验证软件源签名的完整性&#xff0c;还是加密一封敏感邮件&#xff0c;G…

作者头像 李华
网站建设 2026/6/20 14:59:02

5分钟上手:无需训练的AI换脸工具roop-unleashed终极指南

5分钟上手&#xff1a;无需训练的AI换脸工具roop-unleashed终极指南 【免费下载链接】roop-unleashed Evolved Fork of roop with Web Server and lots of additions 项目地址: https://gitcode.com/gh_mirrors/ro/roop-unleashed 你是否曾想过&#xff0c;只需一张照片…

作者头像 李华
网站建设 2026/6/20 14:57:17

ab融帧视频怎么调色:2026视频融合工作流,5款工具横评

二创与矩阵号为什么总在AB融帧调色上翻车做影视二创或短视频矩阵的团队&#xff0c;经常遇到一个棘手问题&#xff1a;素材拼接后画面色彩割裂。尤其是涉及AB融帧去重时&#xff0c;A素材和B素材的色温、对比度不一致&#xff0c;导致成品看起来像劣质拼接&#xff0c;甚至直接…

作者头像 李华