--package Options - 2021.1 English

Vitis Unified Software Platform Documentation: Application Acceleration Development (UG1393)

Document ID
UG1393
Release Date
2022-03-29
Version
2021.1 English

Introduction

The v++ --package, or -p step, packages the final product at the end of the v++ compile and link build process. This is a required step for all embedded platforms, including Versal devices, AI Engine, and Zynq devices.

The various options of --package include the following:

--package.aie_debug_port

--package.aie_debug_port <arg>

Where <arg> specifies a TCP port where emulator listens for incoming connections from the debugger to debug Versal AI Engine cores.

For example:

v++ -l --package.aie_debug_port 1440 

--package.bl31_elf

--package.bl31_elf <arg>

Where <arg> specifies the absolute or relative path to Arm trusted FW ELF that executes on A72 #0 core.

For example:

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

--package.boot_mode

--package.boot_mode <arg>
Where <arg> specifies <ospi | qspi | sd> Boot mode used for running the application in emulation or on hardware.
Tip: ospi is for use with Versal Data Center platforms only.

For example:

v++ -l --package.boot_mode sd 

--package.defer_aie_run

--package.defer_aie_run

Where this option specifies that the Versal AI Engine cores are enabled by an embedded processor (PS) application. When not specified, the tool generates CDO commands to enable the AI Engine cores during PDI load instead.

For example:

v++ -l --package.defer_aie_run

--package.domain

--package.domain <arg>

Where <arg> specifies a domain name.

For example:

v++ -l --package.domain xrt

--package.dtb

--package.dtb <arg>

Where <arg> specifies the absolute or relative path to device tree binary (DTB) used for loading Linux on the APU.

For example:

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

--package.enable_aie_debug

--package.enable_aie_debug

When enabled, the tool generates CDO commands to stop the AI Engine cores during PDI load.

For example:

v++ -l --package.enable_aie_debug 

--package.image_format

--package.image_format <arg>

Where <arg> specifies <ext4 | fat32> output image file format used on the SD card.

  • ext4: Linux file system
  • fat32: Windows file system
Important: EXT4 format is not supported on Windows.

For example:

v++ -l --package.image_format fat32 

--package.kernel_image

--package.kernel_image <arg>

Where <arg> specifies the absolute or relative path to a Linux kernel image file. Overrides the existing image available in the platform. The platform image file is available for download from xilinx.com. Refer to the Vitis Software Platform Installation for more information.

For example:

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

--package.no_image

--package.no_image

Bypass SD card image creation. Valid for --package.boot_mode sd.

--package.out_dir

--package.out_dir <arg>

Where <arg> specifies the absolute or relative path to the output directory of the --package command.

For example:

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

--package.ps_debug_port

--package.ps_debug_port <arg>

Where <arg> specifies the TCP port where emulator listens for incoming connections from the debugger to debug PS cores.

For example:

v++ -l --package.debug_port 3200 

--package.ps_elf

--package.ps_elf <arg>

Where <arg> specifies <path_to_elf_file,core>.

  • path_to_elf_file: Specifies the ELF file for the PS core.
  • core: Indicates the PS core it should run on.

Used when a baremetal ELF file is running on a device processor core. This option specifies an ELF file and processor core pair to be included in the boot image. The available processors for supported devices are listed below:

  • Versal processor core values include: a72-0, a72-1, a72-2, and a72-3.
  • Zynq UltraScale+ MPSoC processor core values include: a53-0, a53-1, a53-2, a53-3, r5-0, and r5-1.
  • Zynq-7000 processor core values include: a9-0 and a9-1.
Tip: Specify the option separately for each ELF/Core pair.

For example:

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

--package.rootfs

--package.rootfs <arg>

Where <arg> specifies the absolute or relative path to a processed Linux root file system file. The platform RootFS file is available for download from Xilinx.com. Refer to the Vitis Software Platform Installation for more information.

For example:

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

--package.sd_dir

--package.sd_dir <arg>

Where <arg> specifies a folder to package into the sd_card directory/image. The contents of the directory are copied to a sub-folder of the sd_card folder.

For example:

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

--package.sd_file

--package.sd_file <arg>

Where <arg> specifies an ELF or other data file to package into the sd_card directory/image. This option can be used repeatedly to specify multiple files to add to the sd_card.

For example:

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

--package.uboot

--package.uboot <arg>

Where <arg> specifies a path to U-boot ELF file which overrides a platform U-boot.

For example:

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