这里结合上一篇内容【嵌入式Linux】---- 基于VIVADO新建创建硬件描述文件(hdf文件)所得到的hdf文件进行定制Linux系统

将hdf文件放置于共享文件夹内
在这里插入图片描述
在这里插入图片描述

1 配置petaLinux环境变量

找到settings.sh文件路径(位于petaLinux的安装路径中)
在这里插入图片描述
home下面新建一个Linuxproject用于存放工程文件
在这里插入图片描述
Linuxproject文件中打开终端
在这里插入图片描述
输入指令source /opt/pkg/petalinux/2018.3/settings.sh,回车。【该命令用于设置环境变量,使得 PetaLinux 工具链能够正确工作。settings.sh 脚本会配置 PetaLinux 所需要的路径和环境变量,确保工具链的其他命令能够在终端中正确执行。】
在这里插入图片描述

注意每次打开终端都需要重新输入该指令配置环境,因此定制系统时最好一次性完成

2 创建petaLinux工程

输入指令petalinux-create -t project --template zynq -n ZYNQ_Project在Linuxproject文件夹中创建一个名为ZYNQ_Project的工程文件夹
在这里插入图片描述

3 配置petaLinux工程

输入cd ZYNQ_Project,进入刚刚创建的工程文件
在这里插入图片描述

找到.hdf文件的路径
在这里插入图片描述

输入指令petalinux-config --get-hw-description /mnt/hgfs/ShareFile/hdf_File/【此命令指向一个硬件描述文件的目录,HDF 文件包含了 Zynq 硬件设计的配置信息(如处理器核、外设等),供 PetaLinux 使用】,稍等一会就能进入配置界面
在这里插入图片描述

在这里插入图片描述
通过方向键选中Subsystem AUTO Hardware Settings,回车进入该设置
在这里插入图片描述
然后再选择Advanced bootable images storage settings,回车进入该设置
在这里插入图片描述
进入后选择boot image settings,回车进入
在这里插入图片描述
由于上一篇内容中我们vivado中并没有配置SD卡启动,故这里只显示flash模式
在这里插入图片描述
保存,回车
在这里插入图片描述
选择ok,回车
在这里插入图片描述
回车退出
在这里插入图片描述
然后点击ESC,直至退回终端,等待系统配置
在这里插入图片描述

4 配置Linux内核

输入指令petalinux-config -c kernel,打开内核配置菜单,允许用户自定义和配置 Linux 内核的选项。例如,可以选择启用或禁用特定的驱动程序、功能或内核模块。一般情况下内核默认设置即可,无需更改。
在这里插入图片描述
保存,然后退出
在这里插入图片描述

5 配置Linux根文件系统

输入指令petalinux-config -c rootfs,进入配置界面
在这里插入图片描述
无特殊要求也是默认即可,保存退出
在这里插入图片描述

6 设备树文件(Device Tree Source)

Device Tree是一种描述硬件的数据结构,这个DTS文件采用了树形结构描述板级设备,也就是开发板的硬件设备信息。

在工程目录下会有一个设备树文件,默认是一个空文件,需要自己往里面添加硬件信息。在本次实验中,不需要对它进行修改。
在这里插入图片描述

7 编译

输入指令petalinux-build,构建整个 Petalinux 项目,生成包括内核、设备树、文件系统等在内的所有必要组件,最终输出文件可用于烧录到 Zynq 设备中
在这里插入图片描述

8 打包制作boot.bin启动文件

指令说明:以petalinux-package --boot --fsbl --fpga --u-boot --force为例
petalinux-package --boot:用于打包生成 BOOT.bin 文件
fsbl:将 fsbl 文件打包合并到 BOOT.bin 中
fpga:将FPGA核产生的bitstream文件打包合并到 BOOT.bin 中
u-boot:将u-boot 依赖项打包合并到 BOOT.bin 中
force:指强制合成,并覆盖以前合成的 BOOT.BIN文件
该命令会将所有生成的文件打包成一个完整的启动镜像,用于启动 Zynq 设备

在本次实验测试中,并没有配置FPGA核,没有生成比特流文件,故输入指令petalinux-package --boot --fsbl --u-boot --force即可
在这里插入图片描述

生成的文件会存放在工程文件下的images文件夹中
在这里插入图片描述
images文件夹复制到共享文件夹内,方便在Windows系统下烧录编译文件

9 SDK烧录flash

导入启动文件
在这里插入图片描述
选择对应的文件
在这里插入图片描述
开发板上电(烧录时开发板接JATG口),boot模式选择QSPI模式,然后点击Program,开始烧录
在这里插入图片描述
等待烧录
在这里插入图片描述
烧录完成
在这里插入图片描述
然后,再将image里面的image.ub修改为image.ub.bin文件,烧录进开发板,offset选择0x520000
在这里插入图片描述

10 串口验证

开发板接UART口,打开串口工具putty,从设备管理器中查询开发板的串口号
在这里插入图片描述
设置putty参数,打开串口
在这里插入图片描述
点击开发板POR键,进行复位,查看打印内容
在这里插入图片描述
输入root,并输入密码(密码也是root),登录Linux
在这里插入图片描述
登录成功,再测试网口连接

如果网口连接有问题,可参考【嵌入式Linux–debug篇】---- 解决ZYNQ开发板的网口IP问题以及实现网络连接

在这里插入图片描述
网口连接正常,Flash烧录成功

Logo

openvela 操作系统专为 AIoT 领域量身定制,以轻量化、标准兼容、安全性和高度可扩展性为核心特点。openvela 以其卓越的技术优势,已成为众多物联网设备和 AI 硬件的技术首选,涵盖了智能手表、运动手环、智能音箱、耳机、智能家居设备以及机器人等多个领域。

更多推荐