Create the APU Fault Injection Boot Image

Memory and Peripheral Protection Unit for PL Isolation in Zynq UltraScale+ Devices (XAPP1353)

Document ID
XAPP1353
Release Date
2022-05-04
Revision
1.1 English

To create the boot image

For the following steps:

build_path=<your_path>/XmpuPL_ZUplus_v1.0a/zcu102_2021.1/xmpu_example/pl_isolation_lab.vitis
  1. Select AMD> Create Boot Image > Zynq and Zynq Ultrascale
    1. Architecture: Zynq MP
    2. Check Create new BIF file
    3. Output BIF file path: <build_path>/apu_fault_injection/output.bif
    4. Output path: <build_path>/apu_fault_injection/BOOT.bin
    5. Continue without clicking create image
    Note: If the boot image partitions are automatically filled, select each one and delete, so that the next steps are performed from scratch.
  2. Click Add
    1. File path: <build_path/zcu102_isolation_test/zynqmp_fsbl/fsbl_r5.elf
    2. Partition type: bootloader
    3. Destination device: PS
    4. Destination CPU: R5 0
    5. Click OK
  3. Click Add
    1. File path: <build_path>/pmu_fw_u1/Debug/pmu_fw_u1.elf
    2. Partition type: datafile
    3. Destination device: PS
    4. Destination CPU: PMU
    5. Click OK
  4. Click Add
    1. File path: <build_path>/zcu102_isolation_test/hw/Base_Zynq_MPSoC_wrapper.bit
    2. Partition type: datafile
    3. Destination device: PL
    4. Click OK
  5. Click Add
    1. File path: <build_path>/apu_fault_injection/Debug/apu_fault_injection_elf
    2. Partition type: datafile
    3. Destination device: PS
    4. Destination CPU: A53 0
      CAUTION:
      The destination CPU defaults to A53_0, but on some older versions of Vitis if you do not actually select it from the drop-down menu, then the parameter may not get written to the BIF file. Use Preview BIF Changes to verify.
    5. Click OK
      Figure 1. Preview BIF Changes
  6. The Create Boot Image window looks like the following figure.
  7. Click Create Image and select Overwrite if prompted.
    Figure 2. Create Boot Image for APU Fault Injection System
Note: This example is not using secure boot and all applications are standalone OS, hence the exception level and TrustZone settings for BootGen does not matter.