使用Petalinux工具搭建Linux系统-QSPI启动模式
由于个人原因更新博客不是很固定,请见谅
本人小白,如有不对的地方,请大佬们多多指正,让小弟有所提高,谢谢!
本章使用的平台是ZCU102开发板
vivado版本:2019.1
petalinux版本:2019.1
- 将通过vivado生成好的硬件描述文件(.hdf/.dsa)复制到Ubuntu要建立工程的目录下。
注意:此目录不能与Petalinux工具安装目录相同,但文件夹权限是相同的,只能是0755
此例程,我将.hdf放在了 /home/wlp/nzywork/ petalinux19/中
- 创建新项目
分为两种:
第一种是直接创建空项目,自己去配置。
- petalinux-create -t project -n hello_xilinx --template zynqMP
上述写法是在当前目录下创建项目。hello_xilinx是项目名称
出现下图报文,表示成功创建!
第二种是基于BSP创建项目,在其基础上增删一些自己想要的配置
- petalinux-create -t project -s <特定BSP路径(包括BSP文件本身)> -n <想要创建的工程名称(可选)>
- 初始化或更新petalinux项目的硬件配置
- cd ./hello_xilinx
- petalinux-config --get-hw-description=../
注意:此处路径为.hdf文件所在路径,也可使用绝对路径:
petalinux-config --get-hw-description /home/wlp/nzywork/petalinux19
当非第一次进入此配置菜单时,可以使用petalinux-config即可。
- 根据需求配置菜单,将SD卡启动改为QSPI启动,配置完成后保存退出。(此处我们将网口IP设置成静态IP,以方便我们测试)
由于硬件设计,此处我们使用串口1,波特率设置为115200
QSPI和SD卡启动模式只修改两处地方即可,如下所示:
在启动顶级系统配置菜单时,进行选择:
Subsystem AUTO Hardware Settings->Advanced bootable images storage Settings->boot image settings->image storage media->primary flash
Subsystem AUTO Hardware Settings->Advanced bootable images storage Settings->kernel image settings->image storage media->primary flash
注意:QSPI启动时,要对Flash的地址设置进行修改,否则可能会出错。
通过查看image.ub文件的大小,来修改下图kernel对应的参数
- 编译
- petalinux-build
- 打包生成BIN文件
- cd images/linux/
- petalinux-package --boot --format BIN --fsbl <FSBL image(zynqmp_fsbl.elf)> --fpga <FPGA bitstream(*.bit)> --u-boot <u-boot.elf> --pmufw <pmufw.elf> --kernel <image.ub文件>
注意:当此目录下之前生成过BOOT.BIN,再次执行此操作时,在命令后要加上--force