Zynq UltraScale Plus MPSoC 2016.3 Tutorial for Design Module 1
Zynq UltraScale Plus MPSoC 2016.3 Tutorial for Design Module 1
1 Abstract
Boot APU only
FSBL, ATF, U-boot, PMU-FW
APU OS: SMP Linux
Ethernet via FTP/SCP
Serial console via UART0
File system via SD, USB or SATA
Standard Linux applications on rootfs
Table of Contents
2 Block Diagram
3 Tool Flow Tutorials
This wiki page assumes that the user has already downloaded the Zynq UltraScale+ MPSoC Base TRD zip file and extracted its contents. For reference in the following tutorials, we export TRD_HOME as environment variable.
% export TRD_HOME=</path/to/downloaded/zip-file>/zcu102-base-trd-2016-3
3.1 Build the Petalinux BSP
The PetaLinux BSP is pre-configured for this reference design application and includes the following components:
u-boot bootloader u-boot.elf
ARM trusted firmware (ATF) bl31.elf
Linux kernel
Device tree
Linux root file system (rootfs)
The generated file image.ub contains the Linux kernel, devicetree blob, and rootfs in a single FIT image.
Tutorial:
Change the directory to the PetaLinux board support package (BSP)
% cd $TRD_HOME/apu/petalinux_bspConfigure all PetaLinux components
% petalinux-config --get-hw-description=./hw-description/ --oldconfigCreate a symbolic-link to point to desired design module device tree blob, e.g. system-dm1.dts for design module 1
% cd subsystems/linux/configs/device-tree/ % ln -sf system-dm1.dts system-top.dts % cd -Build all PetaLinux components including u-boot, kernel, device tree blob and rootfs
% petalinux-buildThe generated SYSROOT contains all system libraries and headers required to compile and link the video_qt2 application and is located at $TRD_HOME/apu/petalinux_bsp/build/linux/rootfs/stage.
The generated Linux image binaries will be placed at $TRD_HOME/apu/petalinux_bsp/images/linux.
[Optional] Copy the generated image.ub, u-boot.elf, and bl31.elf binaries into the SDx platform's boot directory $TRD_HOME/apu/zcu102_base_trd/sw/boot or use the pre-built versions at the same location.
3.2 Build the PMU Firmware
The pmu_fw application is a bare-metal application that executes on the PMU MicroBlaze. It is loaded by the CSU early on in the boot process before the FSBL executes. The application's primary responsibility is to handle power management.
Tutorial:
Launch the Xilinx software development kit (XSDK) from the console.
% cd $TRD_HOME/pmu % xsdk -workspace $TRD_HOME/pmu/pmu_fwClose the Welcome screen and import the PMU firmware projects.
Click File -> Import... -> General -> Existing Projects into Workspace and click Next.
Navigate to the $TRD_HOME/pmu/pmu_fw directory using the Browse button.
Select the pmu_fw, pmu_fw_bsp, and zcu102_base_trd_hw_platform projects.
Click Finish.
Build the imported projects:
Right-click on the pmu_fw project and select Build Project.
The generated elf file will be placed at $TRD_HOME/pmu/pmu_fw/pmu_fw/Release/pmu_fw.elf.
[Optional] Copy the above binary into the SDx platform at $TRD_HOME/apu/zcu102_base_trd/sw/boot.
3.3 Create a boot image
Select the bif file based on the desired design module e.g. for dm1, run:
% cd images/linux % petalinux-package --boot --bif=dm1.bif --force % cd -The generated bin file will be placed at $TRD_HOME/apu/petalinux_bsp/images/linux/BOOT.BIN.
3.4 Execute the images
Copy the below files onto SD card:
BOOT.BIN
image.ub
On booting, observe FSBL, PMU FW, ATF messages followed by Linux boot messages.
© 2025 Advanced Micro Devices, Inc. Privacy Policy