Ultra96基础学习篇——(5)PetaLinux创建BOOT.bin

开发板:Ultra96

Xilinx Vivado:2018.2

PetaLinux:2018.2

Ubuntu:16.04


在开发板上移植Linux系统,才能完整的实现嵌入式软硬件协同。之前对Linux开发没怎么接触过,只会点简单的操作。但对于移植Linux基本够了。

PetaLinux的学习跟操作主要是依照手册ug1144和ug1157。


帖子在草稿箱里放了挺久的了,回来把之前留下的先填了。

昨天查了一下,ug1144都出来中文版的了(c_ug1144),更方便我们去学习了。


对于生成BOOT.bin,有两种方法可以实现。其中一种,是通过板级支持包(BSP)去实现,但这种方式适用官方的硬件结构,或者在官方硬件基本结构不变的情况下,增加自己的一些模块;还有一种,是通过Vivado工程生成的 .hdf文件去实现。对于自己的工程,个人认为最好还是通过第二种方式去生成BOOT.bin文件。

1.使用BSP生成BOOT.bin

(1)对于Ultra96的BSP,可以通过此链接下载Ultra96_BSP,其他开发板的BSP可以在官网下载。

有了BSP,剩下的操作就很简单了,根据ug1144步骤操作即可。

创建一个基于官方硬件开发板的一个工程:

petalinux-create -t project -s xilinx-ultra96-reva-v2018.2-final.bsp

这样你可找到如下两个文件:BOOT.BIN和image.ub,正常情况下将这两个文件,拷贝到SD卡中,即可启动Linux系统,如果没有启动,可尝试换一张SD卡试一试。

也可以重新build和package,生成一个images文件夹,在其中可找到BOOT.BIN和image.ub,将其拷贝到SD卡后,再启动。

Ultra96基础学习篇——(5)PetaLinux创建BOOT.bin_第1张图片

Ultra96基础学习篇——(5)PetaLinux创建BOOT.bin_第2张图片

(2)如果在开发板工程基础上,添加了部分模块,其也是基于.hdf文件的,通过BSP生成BOOT.bin可以如下操作:

petalinux-create -t project -s xilinx-ultra96-reva-v2018.2-final.bsp
cd <.hdf file location>
petalinux-config --get-hw-description=./
petalinux-build
petalinux-package --boot --fsbl zynqmp_fsbl.elf --u-boot u-boot.elf --pmufw pmufw.elf --fpga system.bit --force

这种方式没有具体验证,如有不对之处,欢迎交流。

2.基于.hdf文件生成BOOT.bin

因为我考虑到主要是根据自己的工程去创建BOOT.bin,所以我采用的是利用.hdf文件创建。

这种方式也比较简单,首先准备好自己Vivado工程的.hdf文件,然后步骤如下:

创建工程(此处创建名为Ultra96的工程),

petalinux-create --type project --template zynqMP --name Ultra96

将.hdf文件拷贝到Ultra96的文件夹中,执行config会弹出对话框,

cd Ultra96
petalinux-config --get-hw-description=./

Ultra96基础学习篇——(5)PetaLinux创建BOOT.bin_第3张图片

根据手册进行配置

Ultra96基础学习篇——(5)PetaLinux创建BOOT.bin_第4张图片

Ultra96基础学习篇——(5)PetaLinux创建BOOT.bin_第5张图片

Ultra96基础学习篇——(5)PetaLinux创建BOOT.bin_第6张图片

根据前面提到过,ultra96使用串口1进行打印,所以要修改为uart_1(也可以只配置此处的串口1,上面的DTG默认,后面的结果是一样的)

Ultra96基础学习篇——(5)PetaLinux创建BOOT.bin_第7张图片

保存、退出,稍等一会即可完成config

Ultra96基础学习篇——(5)PetaLinux创建BOOT.bin_第8张图片

然后执行petalinux-build,同上面1-(2)一样

petalinux-build
petalinux-package --boot --fsbl zynqmp_fsbl.elf --u-boot u-boot.elf --pmufw pmufw.elf --fpga system.bit --force

Ultra96基础学习篇——(5)PetaLinux创建BOOT.bin_第9张图片

拷贝到SD卡,启动可见

Ultra96基础学习篇——(5)PetaLinux创建BOOT.bin_第10张图片

Ultra96基础学习篇——(5)PetaLinux创建BOOT.bin_第11张图片


如上,petalinux创建BOOT.bin初步完成,但这样其实还是有很多问题的。当我这么做的时候,USB没有识别,也就没法输入。在后期其实我也添加过USB3.0的设备树,虽然能够接鼠标键盘,但还是缺少基本的git、make等等,也没有界面。所以这就是一个初步的认识petalinux的过程。

这种配置是官方给出的最简单的操作,算是一个入门的过程吧。因为偶然发现了一个Readme文件,才知道了Ultra96到底该配置什么,下一篇将记录一下。

 

你可能感兴趣的:(FPGA)