使用Petalinux工具搭建Linux系统-QSPI启动模式

由于个人原因更新博客不是很固定,请见谅

本人小白,如有不对的地方,请大佬们多多指正,让小弟有所提高,谢谢!

本章使用的平台是ZCU102开发板

vivado版本:2019.1

petalinux版本:2019.1

  1. 将通过vivado生成好的硬件描述文件(.hdf/.dsa)复制到Ubuntu要建立工程的目录下。

注意:此目录不能与Petalinux工具安装目录相同,但文件夹权限是相同的,只能是0755

此例程,我将.hdf放在了 /home/wlp/nzywork/ petalinux19/中

  1. 创建新项目

分为两种:

第一种是直接创建空项目,自己去配置。

  1. petalinux-create -t project -n hello_xilinx --template zynqMP

上述写法是在当前目录下创建项目。hello_xilinx是项目名称

出现下图报文,表示成功创建!

使用Petalinux工具搭建Linux系统-QSPI启动模式

第二种是基于BSP创建项目,在其基础上增删一些自己想要的配置

  1. petalinux-create -t project -s <特定BSP路径(包括BSP文件本身)> -n <想要创建的工程名称(可选)>

使用Petalinux工具搭建Linux系统-QSPI启动模式

  1. 初始化或更新petalinux项目的硬件配置
  1. cd ./hello_xilinx
  2. petalinux-config --get-hw-description=../

注意:此处路径为.hdf文件所在路径,也可使用绝对路径:

petalinux-config --get-hw-description /home/wlp/nzywork/petalinux19

使用Petalinux工具搭建Linux系统-QSPI启动模式

当非第一次进入此配置菜单时,可以使用petalinux-config即可。

  1. 根据需求配置菜单,将SD卡启动改为QSPI启动,配置完成后保存退出。(此处我们将网口IP设置成静态IP,以方便我们测试)

使用Petalinux工具搭建Linux系统-QSPI启动模式

由于硬件设计,此处我们使用串口1,波特率设置为115200

 

QSPI和SD卡启动模式只修改两处地方即可,如下所示:

在启动顶级系统配置菜单时,进行选择:

Subsystem AUTO Hardware Settings->Advanced bootable images storage Settings->boot image settings->image storage media->primary flash

使用Petalinux工具搭建Linux系统-QSPI启动模式

Subsystem AUTO Hardware Settings->Advanced bootable images storage Settings->kernel image settings->image storage media->primary flash

使用Petalinux工具搭建Linux系统-QSPI启动模式

注意:QSPI启动时,要对Flash的地址设置进行修改,否则可能会出错。

通过查看image.ub文件的大小,来修改下图kernel对应的参数

使用Petalinux工具搭建Linux系统-QSPI启动模式

  1. 编译
  1. petalinux-build

使用Petalinux工具搭建Linux系统-QSPI启动模式

  1. 打包生成BIN文件
  1. cd images/linux/
  2. 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文件>

使用Petalinux工具搭建Linux系统-QSPI启动模式

注意:当此目录下之前生成过BOOT.BIN,再次执行此操作时,在命令后要加上--force