【MPSoC ZCU102 BOOT.BIN文件制作】

 

 

1 说明

本文介绍了通过Xilinx官方网站提供的Vivado、petalinux等工具制作官方开发板Xilinx MPSoC ZCU102启动文件BOOT.BIN的过程。此启动文件可通过SD启动方式被加载,最终引导启动u-boot。基本流程是首先通过Vivado生成ZCU102的硬件描述文件(2019版本中为xsa文件,之前版本为hdf文件),再由petalinux编译生成BOOT.BIN。本文中使用Vivado、petalinux均为2019版本,即目前最新版本。

2 硬件描述文件制作

2.1 开发环境与参考

本文使用windows版本Vivado,运行环境为windows 10。详细信息可参考官方文档:

https://china.xilinx.com/support/documentation/sw_manuals/xilinx2019_2/ug898-vivado-embedded-design.pdf

2.2 下载安装Vivado

2019版本Vivado包含在Vitis中,Vitis下载地址:

https://china.xilinx.com/member/forms/download/xef.html?filename=Xilinx_Unified_2019.2_1106_2127_Win64.exe

       注意下载前需要注册Xilinx官网账号,下载后双击运行。如图 2.1所示。

【MPSoC ZCU102 BOOT.BIN文件制作】_第1张图片

图 2.1 打开安装软件

       输入Xilinx官网账号,选择下载完整的安装镜像(以备后用),选择下载位置(需至少30G空间)。如图 2.2所示。

【MPSoC ZCU102 BOOT.BIN文件制作】_第2张图片

图 2.2 配置下载位置

选在下载Vivado软件,如图 2.3所示。

【MPSoC ZCU102 BOOT.BIN文件制作】_第3张图片

图 2.3 选择Vivado软件

选择Vivado HL System Edition后点击下一步,在下一页面中确保选择UltraScale+,如图 2.4所示。

【MPSoC ZCU102 BOOT.BIN文件制作】_第4张图片

图 2.4 选择UltraScale+

       下一步后点击“下载”进入下载页面,这里需要耗费很长一段时间。下载过程可能中断,选择断电续传模式重新下载即可。如图 2.5所示。

【MPSoC ZCU102 BOOT.BIN文件制作】_第5张图片

图 2.5 下载软件

       下载完成后双击xsetup.exe安装到对应位置即可。成功安装后双击桌面生成的Vivado 2019.2,打开界面如图 2.6所示。

【MPSoC ZCU102 BOOT.BIN文件制作】_第6张图片

图 2.6 Vivado界面

2.3 创建工程

       点击创建工程,如图 2.7所示。

【MPSoC ZCU102 BOOT.BIN文件制作】_第7张图片

图 2.7 创建工程

点击下一步后编辑工程名称与工程位置,如图 2.8所示。

【MPSoC ZCU102 BOOT.BIN文件制作】_第8张图片

图 2.8 编辑工程名称与工程位置

选择Example Project后选择Base Zynq UltraScale+ MPSoC,如图 2.9所示。

【MPSoC ZCU102 BOOT.BIN文件制作】_第9张图片

图 2.9 选择Base Zynq UltraScale+ MPSoC

选择ZCU102开发板,如图 2.10所示。

【MPSoC ZCU102 BOOT.BIN文件制作】_第10张图片

图 2.10 选择ZCU102开发板

点击完成创建工程。新创建的工程包括ZCU102所需的默认配置,可按需修改。

2.4 生成导出硬件描述文件

点击Run Synthesis,如图 2.11所示。

【MPSoC ZCU102 BOOT.BIN文件制作】_第11张图片

图 2.11 Run Synthesis

       等待右上角正在运行中的标志结束,如图 2.12所示。

【MPSoC ZCU102 BOOT.BIN文件制作】_第12张图片

图 2.12 运行中

在Design Runs中可查看当前运行的位置,如图 2.13所示。

【MPSoC ZCU102 BOOT.BIN文件制作】_第13张图片

图 2.13 运行位置

运行结束后出现完成界面,选择Run Implementation,点击OK,如图 2.14所示。

【MPSoC ZCU102 BOOT.BIN文件制作】_第14张图片

图 2.14 完成 Synthesis

使用同样的方式查看Run Implementation运行情况,此步骤会运行较长时间。完成后显示完成界面,点击OK即可。如图 2.15所示。

【MPSoC ZCU102 BOOT.BIN文件制作】_第15张图片

图 2.15 完成

       点击file--->Export--->Export Hardware…,如图 2.16所示。

【MPSoC ZCU102 BOOT.BIN文件制作】_第16张图片

图 2.16 点击生成硬件描述文件

默认导出路径为工程所在目录,不要修改此目录,如图 2.17所示。

【MPSoC ZCU102 BOOT.BIN文件制作】_第17张图片

图 2.17 导出位置

成功导出后可在对应目录下找到文件Base_Zynq_MPSoC_wrapper.xsa,如图 2.18所示。

【MPSoC ZCU102 BOOT.BIN文件制作】_第18张图片

图 2.18 生成xsa文件

点击Generate Bitstream生成BIT文件,此过程需要持续一段时间,如图 2.19所示。

【MPSoC ZCU102 BOOT.BIN文件制作】_第19张图片

                                                               图 2.19 生成Generate Bitstream

生成过程可见右上角状态栏与Design Runs窗口,如图 2.20所示。

【MPSoC ZCU102 BOOT.BIN文件制作】_第20张图片

图 2.20 生成过程

成功生成后弹出已完成界面,点击OK即可,如图 2.21所示。

【MPSoC ZCU102 BOOT.BIN文件制作】_第21张图片

图 2.21 生成结束

点击File--->Export--->Export Bitstream File,生成bit文件,如图 2.22所示。

图 2.22 导出bit文件

选择导出bit文件路径,这里选择桌面,如图 2.23所示。

【MPSoC ZCU102 BOOT.BIN文件制作】_第22张图片

                                                                         图 2.23 导出bit文件

到此生成了2个硬件描述文件,xsa与bit。

3 编译BOOT.BIN

3.1 运行环境与参考

编译BOOT.BIN需在Linux环境中进行,官方推荐Ubuntu16.04 32bit,建议不要修改。本文在Ubuntu16.04 32bit虚拟机中进行操作。详细信息请参考官方文档:

https://china.xilinx.com/support/documentation/sw_manuals/xilinx2019_2/ug1144-petalinux-tools-reference-guide.pdf

在虚拟机中安装运行环境,如程序清单 3.1所示。

程序清单 3.1 安装环境

# sudo apt-get install -y gcc git make net-tools libncurses5-dev ttpd zlib1g-dev libssl-dev flex bison libselinux1 gnupg wget diffstat chrpath socat xterm autoconf libtool tar unzip texinfo zlib1g-dev gcc-multlib build-essental -dev zlib1g:i386 screen pax gzip

3.2 下载安装

首先需要下载petalinux(2019)与ZCU102官方BSP。注意下载前需要登录Xilinx账户,下载地址:

https://china.xilinx.com/member/forms/download/xef.html?filename=petalinux-v2019.2-final-installer.run

https://china.xilinx.com/member/forms/download/xef.html?filename=xilinx-zcu102-v2019.2-final.bsp

3.3 安装petalinux

注意:安装petalinux不能使用root用户

创建安装目录,创建后更改目录所有者为用户:

$ sudo mkdir -p /opt/pkg/petalinux/2019.2

$ sudo chown -R stone:stone /opt/pkg/petalinux

安装petalinux

$ ./petalinux-v2019.2-final-installer.run /opt/pkg/petalinux/2019.2

安装过程可能会缺少部分库,按需要安装即可

获取设置脚本,配置当前环境,成功获取后即可以使用petalinux-xxx命令,如图 3.1所示。

【MPSoC ZCU102 BOOT.BIN文件制作】_第23张图片

图 3.1 获取设置脚本

3.4 创建、配置、编译、打包

使用官方下载的ZCU102 BSP创建工程:

$ petalinux-create -t project -s /home/stone/xilinx-zcu102-v2019.2-final.bsp

       成功创建工程后在当前目录出现工程目录,如图 3.2所示。

图 3.2 工程目录

       先拷贝硬件配置文件Base_Zynq_MPSoC_wrapper.xsa到某个目录下,再导入硬件配置:

$ cp Base_Zynq_MPSoC_wrapper.xsa /home/stone/

$ cd /home/stone/petalinux/xilinx-zcu102-2019.2

$ petalinux-config --get-hw-description=/home/stone/

       配置过程中会自动在/home/stone目录下搜索xsa文件。配置中出现选择菜单可直接退出不理会。

       编译:

$ petalinux-build

       拷贝准备好的bit文件,通过如下命令进行打包:

$ petalinux-package --boot --format BIN --fsbl images/linux/zynqmp_fsbl.elf --u-boot images/linux/u-boot.elf --pmufw images/linux/pmufw.elf --fpga /home/stone/*.bit --force

       打包结束后即可在images/linux目录下生成BOOT.BIN文件,此目录下还包括官方linux镜像、文件系统等文件,如图 3.3所示。

【MPSoC ZCU102 BOOT.BIN文件制作】_第24张图片

图 3.3 BOOT.BIN

将BOOT.BIN文件放入SD卡,切换ZCU102开发板到SD卡启动,上电即可启动设备。

3.5 使用自定义u-boot源码

使用官方BSP默认无法查看源码,但可以通过配置其他的源码路径进行修改。下载Xilinx官方u-boot源码,下载地址:

https://github.com/Xilinx/u-boot-xlnx/tree/xilinx-v2019.2

下载后解压到任意目录,输入命令$ petalinux-config打开配置菜单,选择

Linux Components Selection --->

u-boot () --->

       选择ext-local-src,返回

       External u-boot local source settings --->

       输入解压u-boot源码路径,如图 3.4所示。

【MPSoC ZCU102 BOOT.BIN文件制作】_第25张图片

图 3.4 更换源码路径

       保存退出后使用命令petalinux-bulid重新编译即可。

你可能感兴趣的:(Xilinx)