Block Diagram


Component Diagram

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 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/.

$ 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)
  • 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

After boot, at shell prompt:
$ export LD_LIBRARY_PATH=/media/card
$ /media/card/video_cmd -r 1920x1080