1)复制黑金7020自带的"linux_base.sdk”到Linux主机的
/home/yanhaoyu/7020/Y_debian/linux_base.sdk
的目录中
2)设置petalinux环境变量,运行下面命令
source /opt/pkg/petalinux/settings.sh
3)运行下面命令设置vivado环境变量
source /opt/Xilinx/Vivado/2017.4/settings64.sh
4)创建名称为ax_peta工程
petalinux-create --type project --template zynq --name ax_peta
5)进入petalinux工作目录
cd ax_peta
6)使用命令配置Petalinux工程的硬件信息,"…/linux_base.sdk"目录就是vivado导出的硬件信息。
执行命令后如果出错,重启虚拟机会好。在弹出一个窗口可以配置petalinux工程,如果配置过后想再次配置,可以运行命令“petalinux-config”来配置
petalinux-config --get-hw-description /home/yanhaoyu/7020/Y_debian/linux_base.sdk
7)在选项Linux Components Selection中可以配置uboot和Linux内核的来源,默认是github上下载的,需要Linux主机连接互联网才能下载。本实验保持默认。
8)在选项Subsystem AUTO Hardware Settings可以配置外设和启动方式,本实验都保持默认模式。
9)在advanced bootable images storages Settings选项中配置启动方式,默认从sd卡启动,为了调试这里保持默认从sd卡启动,如果需要制作一个从QSPI flash启动的嵌入式Linux,可以在这里配置。
分别设置BOOT.BIN、image.ub内核、文件系统、system.dtb设备树的启动是SD卡还是Q
SPI
10)配置完成后保持设置,本实验基本都是默认配置,退出
配置内核
11)使用下面命令配置内核,运行命令后需要等待很长一段时间,等待一段时间后出现配置界面,暂时不用配置退出即可
petalinux-config -c kernel
配置根文件系统
12)运行下面的命令配置根文件系统,可以根据需求来配置根文件系统,本实验保持默认配置。
petalinux-config -c rootfs
13)编译,使命下面命令编译uboot、内核、根文件系统、设备树等。
petalinux-build
14)编译完成
15)使用下面命令合成BOOT,和前面的教程的差异就是多出-kernel选项,把内核也打包到BOOT.BIN文件里。
petalinux-package --boot --fsbl ./images/linux/zynq_fsbl.elf --fpga --u-boot --kernel --force
测试linux
16)将工程目录images->linux目录中的BOOT.BIN和image.ub复制到sd卡,复制前最好先格式化一个sd卡,然后插到开发板上,开发板设置到sd卡启动。
17)打开串口,启动开发板
制作烧写QSPI Flash 启动的Linux
一、复制Petalinux工程
前面的教程中我们已经使用Petalinux做了SD卡启动的各种实验,我们想保留SD启动的工程,但是又不想新建一个工程,我们可以把老工程复制一份。
1)在工程目录中同时按键Ctrl+H,显示隐藏文件。
2)把project-spec、.petalinux、config.project复制到一个新的目录,做为一个新的Petalinux工程,再把image/linux目录下的bit文件也复制到新的工程目录下,用于合成戴PL配置的BOOT。
3)编译Petalinux,使用下面命令设置环境变量
source /opt/pkg/petalinux/settings.sh
source /opt/Xilinx/Vivado/2017.4/settings64.sh
4)使用petalinux-config命令配置Petalinux
5)在Subsystem AUTO Hardware Settings —>Advanced bootable images storage Settings ---->boot image settings —>image storage media选项中选择primary flash
6)Subsystem AUTO Hardware Settings —> Flash Settings 中可以修改QSPI flash 的分区,默认的就差不多可以使用,如果你的文件大小超过默认分区的大小,需要自己调整。
7)在image Packaging Configuration —>Root filesystem type 选择INITRAMFS,使用RAM类型的根文件系统,这样就可以方便打包烧写QSPI Flash
8)在Firemware Version Configuration —>中可以修改Host name等信息
9)退出,petalinux配置完成如下
10)配置内核不做修改、文件系统不做修改
11)使用下面命令合成BOOT,和前面的教程的差异就是多出-kernel选项,把内核也打包到BOOT.BIN文件里。
petalinux-package --boot --fsbl ./images/linux/zynq_fsbl.elf --fpga --u-boot --kernel --force
12)打开黑金自带的linux_base文件,用vivado打开
13)在黑金的资料中找到zynq_fsbl_flash.elf文件,放到linux_base文件中
14)在vivado工程中点击Launch SDK
15)点击Xilinx,Program flash
16)分别别添加刚才在虚拟机ax_peta_AFlash生成的BOOT.bin文件和黑金资料官方资料中的zynq_fsbl_flash.elf文件
17)点击Program烧写BOOT.bin和fsbl_flash.elf到QFlash中
18)烧写成功后,把板子打到QFlash启动,连接串口到电脑,波特率115200,可以看到开机的打印信息,但是文件系统无法保存