Zynq UltraScale MPSoC 2016.2 - Tutorial for design module 9
Zynq UltraScale MPSoC 2016.2 - Tutorial for design module 9
Abstract
Qt module to visualize performance counters
o Plot graph instead of printing to UART0
o Use IPC, same as design 4
Table of Contents
Block Diagram
Component Diagram
The below figure shows an overview of all the projects provided in this package as well as inter-dependencies and generated output products. The following sections show step-by-step instructions for rebuilding all project components. Note that pre-built components are depicted as dashed lines and therefore the corresponding build steps are optional and can be skipped (see [Optional] marking). The Vivado hardware design is packaged as part of the SDSoC platform and shall therefore be built through the SDSoC tool flow only.
Source Code
Create workspace folder
$ mkdir 9_full_base_trd
Checkout the source code for Linux
$ git clone https://gitenterprise.xilinx.com/PAEG/zynqmp_petalinux_bsp.git
This creates a folder “zynqmp_petalinux_bsp” and gets all source files from git repository
Perf APM, client.
$ git clone https://gitenterprise.xilinx.com/PAEG/perfapm-client.git
Video application (command line app, Qt app, Video Library)
$ git clone https://gitenterprise.xilinx.com/PAEG/vdf.git
Base TRD, SDSoC platform and with 2D filter sources
$ git clone https://gitenterprise.xilinx.com/PAEG/zcu102_base_trd_sdsoc_pfm.git
Checkout the source code for PMU FW
$ git clone https://gitenterprise.xilinx.com/PAEG/pmu_fw.git
This creates a folder “pmu_fw” and gets all source files from git repository
Checkout the source code for Heartbeat application
$ git clone https://gitenterprise.xilinx.com/PAEG/heartbeat.git
Checkout the source code for Perf APM, server
$ git clone https://gitenterprise.xilinx.com/PAEG/perfapm-server.git
How to build Images
Build PMU FW Image
The pmu_fw (PMU Firmware) 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.
Launch the Xilinx software development kit (XSDK) from the console.
$ cd pmu_fw
$ mkdir workspace // create a workspace
$ xsdk &
Close 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_fw directory using the Browse button.
Select the pmu_fw, pmu_fw_bsp, and zcu102_base_trd_hw_platform projects.
Click Finish.
<< PICTURE >>
Build the imported projects:
Right-click on the pmu_fw project and select Build Project.
The generated elf file will be placed at pmu_fw/Debug/pmu_fw.elf.
Use this image while generating SD card images (detailed below).
Build Kernel Images
Goto the Petalinux BSP folder
$ cd zynqmp_petalinux_bsp
Hardware configuration
$ petalinux-config --get-hw-description=./hw-description --oldconfig
Note:
If the default github is not accessible, change it to gitenterprise as below.
Linux Components Selection à Remote linux-kernel settings à edit the Remote linux-kernel git URL to: https://gitenterprise.xilinx.com/PAEG/linux-xlnx.git
Linux Components Selection à Remote linux-kernel settings à edit the Remote git TAG/Commit ID to: 2016.2/4.4
Modifications in Device tree
The default devicetree includes some PL based driver nodes. Remove these nodes, as this design has no PL based design.
$ vi subsystems/linux/configs/device-tree/system-top.dts
Comment fmc-hdmi-cam.dtsi, pl.dtsi, openamp-overlay.dtsi
/*#include "fmc-hdmi-cam.dtsi"*/
/*#include "pl.dtsi"*/
/*#include "openamp-overlay.dtsi"*/
Save this file.
Build the images
$ petalinux-build
This completes the Linux kernel image build
Generate SD Card Images
SD Card images are generated as part of the petalinux-build command above. However, to include the pmu_fw image, follow the below steps:
Goto the SD card images folder
$ cd zynqmp_petalinux_bsp/images/linux
Copy the pmu_fw binary into the SDSoC platform
$ cp pmu_fw/Debug/pmu_fw.elf
Create a BIF file (filename: boot.bif) with below content:
the_ROM_image:
{
[fsbl_config] a53_x64
[pmufw_image] pmu_fw.elf
[bootloader] zynqmp_fsbl.elf
[destination_cpu=a53-0] bl31.elf
[destination_cpu=a53-0] u-boot.elf
}
Run the command
$ bootgen -arch zynqmp -image boot.bif -w -o boot.bin
This will create boot.bin file with new pmu_fw image.
How to Execute
Copy the below files onto SD card (root folder)
image.ub
boot.bin
Insert the SD card into zcu102 board
Connect power cable and UART cable
Start TeraTerm or any other terminal application on Host PC (to view serial port messages)
Power ON the board
The board starts booting, observe for PMU FW messages followed by Linux boot messages
Related Links
© 2025 Advanced Micro Devices, Inc. Privacy Policy