嵌入式平台封装 - 2023.2 简体中文

Vitis 统一软件平台文档 应用加速开发 (UG1393)

Document ID
UG1393
Release Date
2023-12-13
Version
2023.2 简体中文

对于 AMD Zynq™ UltraScale+™ MPSoCAMD Zynq™ 7000 嵌入式平台,--package 命令行如下所示:

v++ --package -t [sw_emu | hw_emu | hw] --platform <platform> input.xclbin [ -o output.xclbin ]
注释: 如果未指定输出选项 (-o),该工具会以默认名称 a.xclbin 创建输出文件。

对于 Versal 器件,v++ --link 命令会创建 .xsa 文件,而不是 .xclbin 文件。在此情况下,必须向封装进程提供 .xsa 才能生成 .xclbin 文件。Versal 器件的 --package 命令行如下所示:

v++ --package -t [sw_emu | hw_emu | hw] --platform <platform> input.xsa [ -o output.xclbin ]

对于 Versal 平台,封装进程包含 v++ --link 命令执行期间生成的 .xsa 文件以及 aiecompiler 命令生成的 libadf.a 文件,并将其集成到输出器件二进制文件中,如 封装 Versal 设计 中所述。

--package 命令具有各种选项可搭配 Vitis 工具支持的不同平台和构建目标一起使用。在 Vitis IDE 中,封装进程会自动执行,该工具会按需创建所需文件。但在命令行流程中,您必须指定 v++ --package 命令,或者在 config 文件中使用适合此作业的选项来添加 [package] 标签。硬件仿真的命令示例如下所示:

v++ --package --config package.cfg ./aie_graph/libadf.a \
./project.xsa -o aie_graph.xclbin

其中 --config package.cfg 选项用于指定 Vitis 编译器的配置文件,可搭配针对封装进程指定的各种选项一起使用。配置文件示例如下所示:

platform=xilinx_vck190_base_202310_1
target=hw_emu
save-temps=1

[package]
boot_mode=sd
out_dir=./emulation
enable_aie_debug=1
rootfs=<path_to_platform>/sw/versal/xilinx-versal-common-v2023.1/rootfs.ext4
image_format=ext4
kernel_image=<path_to_platform>/sw/versal/xilinx-versal-common-v2023.1/Image
sd_file=host.exe

对于软件和硬件仿真,此命令取 .xclbin 文件或 .xsa 文件作为输入、生成脚本以启动仿真(launch_sw_emu.shlaunch_hw_emu.sh),并将所需的支持文件写入指定的输出文件夹 --package.out_dir

运行此应用所需的其他文件都必须包含在输出文件中,例如,作为应用输入或用于确认应用所需的数据文件,或者用于剖析和调试的 xrt.ini 文件;这些文件可使用 --package.sd_file 选项单独进行传输,或者可以使用 sd_dir 选项作为一个目录来进行传输,如 --package 选项 中所述。

根据通过 --package.boot_mode 选项指定的启动模式,对于硬件构建,--package 命令会创建 sd_card 文件夹或者 QSPI.img

提示: 对于 PS 核上运行的裸机 ELF 文件,还应在命令行中添加以下选项:
--package.ps_elf <elf>,<core>

此 package 命令会创建名为 sd_card 的输出文件夹,其中包含为应用运行硬件仿真所需的所有文件,用于对 sd_card 的启动进程进行建模。对于硬件构建,它包含创建 SD 卡以启动器件所需的文件。硬件仿真的封装输出示例如下所示:

|-- BOOT_bh.bin	//Boot header
|-- BOOT.BIN			 //Boot File
|-- boot_image.bif
|-- launch_hw_emu.sh	   //Hardware emulation launch script
|-- libadf                  //AIE emulation data folder
|   `-- cfg
|       |-- aie.control.config.json
|       |-- aie.partial.aiecompile_summary
|       |-- aie.shim.solution.aiesol
|       |-- aie.sim.config.txt
|       `-- aie.xpe
|-- plm.bin                 //PLM boot file
|-- pmc_args.txt            //PMC command argument specification file
|-- pmc_cdo.bin             //PMC boot file
|-- qemu_args.txt           //QEMU command argument specification file
|-- sd_card
|   |-- BOOT.BIN
|   |-- boot.scr
|   |-- aie_graph.xclbin
|   |-- host.exe
|   |-- Image
|-- sd_card.img
`-- sim                      //Vivado simulation folder

为硬件构建创建 sd_card 文件夹后,请将内容复制到 SD 卡上,以便为物理器件创建启动镜像。

注释: 在 Windows 操作系统上,您必须使用第三方工具(例如,Etcher)来写入 SD 卡,以供在启动 AMD 器件时使用。