/
Zynq UltraScale MPSoC 2016.2 Tutorial for design module 4
Zynq UltraScale MPSoC 2016.2 Tutorial for design module 4
Zynq UltraScale MPSoC 2016.2 Tutorial for design module 4
Abstract
- Boot RPU1 from APU master via remoteproc
- Inter Process Communication (IPC)
Table of Contents
- APU master: RPMsg
- RPU1 remote: OpenAMP
- RPU1 Bare-metal application (server)
- reads performance counters and sends to APU
- APU Linux application (client)
- receives performance counters from RPU1 and prints to UART0
Block Diagram
Component Diagram
<<TODO>>Source Code
- Create workspace folder
- Checkout the source code for Linux
This creates a folder “zynqmp_petalinux_bsp” and gets all source files from git repository
- Checkout the source code for PMU FW
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
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
Perf APM Server Ctl Application
Checkout perfapm-client, perfapm-client-unittest sources from git
$ cd 4_apu_rpu_ipc
APU perfapm-client-unittest build:
Build perf-apm server targeted to RPU, with RPmsg
follow common_procedure PERFAPM-SERVER in the link: Common Functions
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
Copy the RPU1's perfapm-server-ctl, PMUFW, FSBL images into petalinux build area
$ 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
$ cp heartbeat/Debug/heartbeat.elf zynqmp_petalinux_bsp/images/linux/.
$ cp perfapm-server/Debug/perfapm-server-ctl.elf zynqmp_petalinux_bsp/images/linux/.
BOOT.BIN image
$ cd images/linux
$ petalinux-package --force --boot --bif design4.bif
This will create zynqmp_petalinux_bsp/images/linux/BOOT.BIN
How to Execute
- Copy the below files onto SD card (root folder)
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 APU application onto SD card
perfapm-client-unittest/Debug/perfapm-client-unittest.elf
After boot, at shell prompt:
$ /media/card/perfapm-client-unittest.elf
© Copyright 2019 - 2022 Xilinx Inc. Privacy Policy