Zynq UltraScale MPSoC 2016.2 Tutorial for design module 7
Zynq UltraScale MPSoC 2016.2 Tutorial for design module 7
Abstract
Run image processing algorithm on APU
Use OpenCV libraries for rapid prototyping
2D convolution filter example
Profile application to find performance bottleneck
TABLE OF CONTENTS
Block Diagram
Component Diagram
<<TODO>>
Source Code
Create workspace folder
$ mkdir 1_apu_smp_linux
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
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
How to build images
Apply Patches
Apply the design-1 patch (refer DESIGN-1)
$ git apply 0001-Mini-Reference-Design-1-ZCU102-2016.2.patch
Apply the design-2 patch
$ git apply 0001-Mini-Reference-Design-2-ZCU102-2016.2.patch
Apply the design-3 patch
$ git apply 0001-Mini-Reference-Design-3-ZCU102-2016.2.patch
Apply the design-4 patch
$ git apply 0001-Mini-Reference-Design-4-ZCU102-2016.2.patch
Apply the design-5 patch
$ git apply 0001-Mini-Reference-Design-5-ZCU102-2016.2.patch
Apply the design-6 patch
$ git apply 0001-Mini-Reference-Design-6-ZCU102-2016.2.patch
FSBL
FSBL build : refer DESIGN-1 at Tutorial 1
PMU Firmware
PMU FW build : refer DESIGN-1 at Tutorial 1
HEARTBEAT Application
Checkout HeartBeat Application sources from git
$ cd 2_rpu0_freertos_app/heartbeat
RPU0 HeartBeat build
follow common_procedure Build HeartBeat Application in the link: Common Functions
Filter2D Library
Build Filter2D project
$ cd 7_opencv_app
follow common_procedure Build Filter2D in the link: Common Functions
Video Qt Application
Checkout video_lib, video_cmd sources from git
Donot modify any code
Build sdk projects
video_lib (creates a library)
video_cmd (creates executable, static link with video_lib and filter2d.so)
Device Tree
Use device tree same as DESIGN-1, refer DESIGN-1 at Tutorial 1
Kernel Image
Build the kernel image same as DESIGN-1, refer DESIGN-1 at Tutorial 1
BOOT.BIN image
Get BITSTREAM (it is workaround to fix DisplayPort GT issue)
Checkout https://gitenterprise.xilinx.com/PAEG/zcu102_base_trd_sdsoc_pfm
tag 2016.2
$ cp default_pmufw/Debug/default_pmufw.elf zynqmp_petalinux_bsp/images/linux/pmufw.elf
$ cp default_fsbl/Debug/default_fsbl.elf zynqmp_petalinux_bsp/images/linux/zynqmp_fsbl.elf
Get BITSTREAM (build as part of filter2d)
$ cp filter2d/SDDebug/filter2d.so.bit zynqmp_petalinux_bsp/images/linux/.
Create BOOT.BIN
$ cd images/linux
$ petalinux-package --force --boot --bif design5.bif
This will create zynqmp_petalinux_bsp/images/linux/BOOT.BIN
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
Copy filter2d.so onto SD card
filter2d/SDDebug/filter2d.so
After boot, at shell prompt:
$ export LD_LIBRARY_PATH=/media/card
$ /media/card/video_cmd -r 1920x1080
© 2025 Advanced Micro Devices, Inc. Privacy Policy