--package 选项 - 2023.2 简体中文

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

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

简介

封装系统 中所述,v++ --package-p 步骤会在 v++ 编译和链接构建进程结束时生成并封装最终产品。这是所有嵌入式平台(包括 Versal 器件、AI 引擎AMD Zynq™ UltraScale+™ MPSoC 器件)的必要步骤。

适用于 Versal 平台的 --package 命令的语法如下所示:
v++ --package -t <sw_emu | hw_emu | hw> --platform <platform> input.xsa \
[ -o output.xclbin --package.<options> ]
提示: 封装命令选项均可在搭配 --config 选项一起使用的配置文件中指定,如 Vitis 编译器配置文件 中所述。
对于非 Versal 平台,--package 命令的语法为:
v++ --package -t <sw_emu | hw_emu | hw> --platform <platform> input.xclbin \
[ -o output.xclbin --package.<options> ]

如上述语法所示,作为 --package.<options> 指定的各选项包括:

--package.aie_debug_port

--package.aie_debug_port <arg>

其中 <arg> 用于指定 TCP 端口,此端口中的仿真器 (emulator) 会监听从调试器到 Versal AI 引擎调试核的传入连接。默认端口值为 10100

例如:

v++ -l --package.aie_debug_port 1440 

--package.bl31_elf

--package.bl31_elf <arg>

其中 <arg> 用于指定到 Arm 可信 FW ELF(在 A72 #0 核上执行)的绝对路径或相对路径。如果不指定该选项,则 Vitis 编译器会在平台中搜索 bl31。

例如:

v++ -l --package.bl31_elf ./arm_trusted.elf 

--package.boot_mode

--package.boot_mode <arg>
其中 <arg> 用于指定 <ospi | qspi | sd> 启动模式,此模式用于在仿真 (emulation) 中或在硬件上运行应用。对于嵌入式平台,默认启动模式为 sd。对于数据中心平台,模式为 qspiospi(如适用)。
提示: xilinx_vck190_v202310_1 平台不支持 qspi 选项。配置为支持该选项的定制平台则有效。ospi 选项仅适用于 Versal 数据中心平台。

例如:

v++ -l --package.boot_mode sd 

--package.defer_aie_run

--package.defer_aie_run

该选项可指定嵌入式处理器应用 (PS) 启用 Versal AI 引擎核。如不指定该选项,则此工具会生成 CDO 命令以改为在 PDI 加载中启用 AI 引擎核。默认禁用该选项,或者将其设为 FALSE。

例如:

v++ -l --package.defer_aie_run

--package.domain

--package.domain <arg>

其中 <arg> 用于指定域名。如果不指定该选项,那么 Vitis 编译器会从软件平台 (SPFM) 文件中提取默认域。对于 AI 引擎设计,此项应始终设为 aiengine

例如:

v++ -l --package.domain xrt

--package.dtb

--package.dtb <arg>

其中 <arg> 用于指定到设备树二进制文件 (DTB) 的绝对路径或相对路径,此二进制文件用于在 APU 上加载 Linux。如果不指定该选项,则 Vitis 编译器会在平台中搜索 dtb

例如:

v++ -l --package.dtb ./device_tree.image

--package.emu_ps

--package.emu_ps <x86 | qemu>

指定已为 x86 处理器(而不是 Arm® 处理器)编译 PS 应用代码,并将在系统操作系统下运行,用于 C 语言仿真而不是 PetaLinux/QEMU。默认设置为 x86。要了解如何编译 PS 应用以供在 x86 处理器上使用,请参阅 使用 PS on x86 执行嵌入式处理器仿真

重要: 该选项仅对 sw_emu 目标有效。

例如:

v++ -l --package.emu_ps x86

--package.enable_aie_debug

--package.enable_aie_debug

如果启用该选项,那么此工具会在 PDI 加载期间生成 CDO 命令以停止 AI 引擎核。默认禁用该选项,或者将其设为 FALSE。

例如:

v++ -l --package.enable_aie_debug 

--package.image_format

--package.image_format <arg>

其中 <arg> 用于指定 SD 卡上使用的 <ext4 | fat32> 输出镜像文件格式。对于具有 Linux 域的嵌入式平台,默认镜像格式为 ext4。对于所有其他平台,镜像格式为 fat32

  • ext4:Linux 文件系统
  • fat32:Windows 文件系统
重要: EXT4 格式在 Windows 上不受支持。

例如:

v++ -l --package.image_format fat32 

--package.kernel_image

--package.kernel_image <arg>

其中 <arg> 用于指定到 Linux 内核镜像文件的绝对路径或相对路径。覆盖平台中可用的现有镜像。此平台镜像文件可从 Xilinx.com 下载。如需了解更多信息,请参阅 Vitis 软件平台安装。如果不指定该选项,则 Vitis 编译器会将 Linux 镜像从平台复制到 SD 卡文件夹中。

例如:

v++ -l --package.kernel_image ./kernel_image 

--package.no_image

--package.no_image

绕过 SD 卡镜像创建操作。针对 --package.boot_mode sd 有效。默认禁用该选项,或者将其设为 FALSE。

--package.out_dir

--package.out_dir <arg>

其中 <arg> 用于指定到 --package 命令的输出目录的绝对路径或相对路径。默认输出目录即从中启动 Vitis 编译器的目录。

例如:

v++ -l --package.out_dir ./out_dir 

--package.ps_debug_port

--package.ps_debug_port <arg>

其中 <arg> 用于指定 TCP 端口,此端口中的仿真器 (emulator) 会监听从调试器到 PS 调试核的传入连接。

例如:

v++ -l --package.debug_port 3200 

--package.ps_elf

--package.ps_elf <arg>

其中 <arg> 用于指定 <path_to_elf_file,core>

  • path_to_elf_file:指定 PS 核的 ELF 文件。
  • core:指示应在其中运行此文件的 PS 核。

当裸机 ELF 文件在器件处理器核上运行时,使用该选项。该选项用于指定要包含在启动镜像中的 ELF 文件和处理器核对。以下列出了受支持的器件的可用处理器:

  • Versal 处理器核值包括:a72-0a72-1a72-2a72-3
  • Zynq UltraScale+ MPSoC 处理器核值包括:a53-0a53-1a53-2a53-3r5-0r5-1
  • Zynq 7000 处理器核值包括:a9-0a9-1
提示: 为每个 ELF/核对单独指定选项。

例如:

v++ -l --package.ps_elf a53_0.elf,a53-0 --package.ps_elf r5_0.elf,r5-0

--package.rootfs

--package.rootfs <arg>

其中 <arg> 用于指定到已处理的 Linux 根文件系统文件的绝对路径或相对路径。此平台 RootFS 文件可从 Xilinx.com 下载。如需了解更多信息,请参阅 Vitis 软件平台安装。如果不指定该选项,那么 Vitis 编译器会从软件平台 (SPFM) 文件中提取默认 rootfs 路径。

例如:

v++ -l --package.rootfs ./rootfs.ext4

--package.sd_dir

--package.sd_dir <arg>

其中 <arg> 用于指定要封装到 sd_card 目录/镜像中的文件夹。目录内容将被复制到 sd_card 文件夹的子文件夹中。

例如:

v++ -l --package.sd_dir ./test_data 

--package.sd_file

--package.sd_file <arg>

其中 <arg> 用于指定要封装到 sd_card 目录/镜像中的 ELF 或其他数据文件。可重复使用该选项以指定将多个文件添加到 sd_card 中。.xclbin 文件和 libadf.a 文件会被自动复制到 out-dir 文件夹或 sd_card 文件夹内。

例如:

v++ -l --package.sd_file ./arm_trusted.elf 

--package.uboot

--package.uboot <arg>

其中 <arg> 用于指定到 U-Boot ELF 文件的路径,此文件用于覆盖平台 U-Boot。如果不指定该选项,则 Vitis 编译器会在平台中搜索 uboot

例如:

v++ -l --package.uboot ./uboot.elf