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

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

Document ID
UG1393
Release Date
2022-05-25
Version
2022.1 简体中文
对于 Zynq® UltraScale+™ MPSoC Zynq®-7000 嵌入式平台,--package 命令行如下所示:
v++ --package -t [sw_emu | hw_emu | hw] --platform <platform> input.xclbin [ -o output.xclbin ]
对于 Versal® 平台,--package 命令行如下所示:
v++ --package -t [sw_emu | hw_emu | hw] --platform <platform> input.xsa [ -o output.xclbin ]
注释: 如果未指定输出选项 (-o),该工具会以默认名称 a.xclbin 创建输出文件。

对于 Versal® 平台,封装进程包含 v++ --link 命令执行期间生成的 .xsa 文件以及 aiecompiler 命令生成的 libadf.a 文件,并将其集成到输出器件二进制文件中。如需了解更多信息,请参阅 Versal ACAP AI 引擎编程环境用户指南 (UG1076)

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

v++ --package -t hw_emu --platform xilinx_zcu104_base_202010_1 --save-temps \
./input.xclbin ./output.xclbin --config package.cfg

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

[package]
out_dir=sd_card
boot_mode=sd
image_format=ext4
rootfs=/tmp/platforms/sw/zynqmp/xilinx-zynqmp-common-v2022.1/rootfs.ext4
sd_file=/tmp/platforms/sw/zynqmp/xilinx-zynqmp-common-v2022.1/Image
sd_file=host.elf
sd_file=output.xclbin
sd_file=xrt.ini
sd_file=launch_app.sh

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

运行此应用所需的其它文件都必须包含在输出文件中,例如,作为应用输入或用于确认应用所需的数据文件,或者用于剖析和调试的 xrt.ini 文件;这些文件可使用 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 卡以启动器件所需的文件。

创建 sd_card 文件夹后,请将内容复制到 SD 卡上以创建启动镜像。

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

当封装进程完成后,您可使用 Vitis 分析器工具通过运行以下命令来可视化并浏览相关报告和 log 日志文件:

vitis_analyzer ./<output>.package_summary