【嵌入式Linux】---- 基于petaLinux定制使用QSPI Flash启动的Linux系统
这里结合上一篇内容【嵌入式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烧录成功
openvela 操作系统专为 AIoT 领域量身定制,以轻量化、标准兼容、安全性和高度可扩展性为核心特点。openvela 以其卓越的技术优势,已成为众多物联网设备和 AI 硬件的技术首选,涵盖了智能手表、运动手环、智能音箱、耳机、智能家居设备以及机器人等多个领域。
更多推荐


所有评论(0)