Petalinux简介
- Petalinux是Xilinx针对嵌入式Linux开发所推出的开发套件、开发工具
- Petalinux包括U-Boot源码、Linux内核源码以及根文件系统
- 嵌入式Linux系统三巨头:U-Boot、Linux内核以及rootfs
Petalinux设计流程
- 搭建Vivado工程,导出hdf文件
- 创建一个petalinux工程
- 将hdf文件导入到petalinux工程(将vivado设计应用到petalinux工程)
- 配置petalinux工程(包括配置U-Boot、配置内核以及配置根文件系统)
- 编译petalinux工程(U-Boot镜像、内核镜像以及rootfs,bitstream,fsbl镜像文件)
- 启动开发板
Petalinux设计实战
导出hdf文件
- 编译好整个vivado工程,生成Bitstream之后,在菜单栏中选择File > Export > Export hardware 导出硬件,勾选Include bitstream,然后就得到了hdf硬件描述文件
- 不妨新建一个目录专门存放hdf文件
mkdir zynq_petalinx.sdk - 通过Mobaxterm将hdf文件传到该目录下
创建petalinux工程
- 终端输入
sptl进入petalinux工作环境 mkdir新建一个工作目录并进入该目录- 创建名为zynq_linux的petalinux工程
petalinux-create -t project --template zynq -n zynq_linux
hdf导入到petalinux工程
- 进入工作目录
cd zynq_linux - 导入hdf
petalinux-config --get-hw-description **/zynq_petalinx.sdk/后面的路径为hdf所在目录地址
配置petalinux工程
上一步完成后会自动弹出配置窗口
当然也可以通过这个命令重新配置
petalinux-config
一般默认配置,这一部分略
配置Linux内核
终端输入如下命令
petalinux-config -c kernel
无特殊需求,无需更改
配置Linux根文件系统
终端输入以下命令可配置根文件系统
petalinux-config -c rootfs
无特殊需求,无需更改
备注:root用户密码,默认为“root”
配置设备树文件
如果需要配置设备树,则可以编辑当前工程目录下的project-spec/meta-user/recipes-bsp/devicetree/files/system-user.dtsi文件
无特殊需求,无需更改
编译petalinux工程
编译整个petalinux工程命令
petalinux-build
optional: 可选单独编译命令如下
-c u-boot #编译U-BOOT
-c kernel #编译内核
-c rootfs #编译根文件系统
制作BOOT.BIN启动文件
Petalinux 提供了petalinux-package 命令将 PetaLinux 项目打包为适合部署的格式
petalinux-package --boot命令可生成可引导映像,可直接与Zynq设备的FPGA设计一起使用
ZYNQ的启动文件BOOT.BIN一般包含fsbl文件、bitstream文件和U-BOOT文件
使用下面的命令可生成BOOT.BIN文件
petalinux-package --boot --fsbl ./images/linux/zynq_fsbl.elf --fpga --u-boot --force
参数--boot表明我们要通过petalinux-package命令生成BOOT.BIN启动镜像文件
参数--fsbl用于指定 fsbl 镜像文件的位置
参数--fpga用于指定 bitstream文件的位置
参数--u-boot用于指定 U-BOOT文件的位置
参数--force表示强制覆盖当前目录下的BOOT.BIN文件
制作SD启动卡
配置过程详见正点原子启明星ZYNQ之Linux开发指南第六章6.2.10节
插入SD卡,连接到虚拟机,会出现一个BOOT分区
然后将该工程image/linux目录下的BOOT.BIN和image.ub文件拷贝到BOOT分区,最后拔出SD卡
开发板启动
- 将SD卡插入卡槽,连接串口通信线
- 将启明星底板上的启动模型设置为从SD卡启动(双OFF)
- 连接电源线,上电
- 打开Mobaxterm,连接串口,登录linux系统

Petalinux是Xilinx为嵌入式Linux开发提供的工具,包括U-BOOT、Linux内核和根文件系统。设计流程涉及创建工程、配置并编译。U-BOOT作为通用启动加载器,负责引导Linux内核,由FSBL启动。FSBL由BootROM引导,从BOOT.BIN加载。SD卡启动流程中,BootROM从SD卡读取BOOT.BIN启动FSBL。文章还介绍了U-BOOT命令、网络、文件系统等相关操作。
最低0.47元/天 解锁文章
1142

被折叠的 条评论
为什么被折叠?



