Create MPSoC Based Embedded Platforms¶
An MPSoC Based Embedded platform defines a base hardware and software architecture and application context. We provide a few scripts and some basic source files as an example to create a custom MPSoC platform.
src/platform/zcu102ng
src/platform/zcu102ng_svm
Before creating platform, make sure to properly set up environment for vivado. It takes same procedures to create platform for zcu102ng and zcu102ng_svm. Take zcu102ng as an example.
NOTE The purpose of this page is only for easy to get started. If you are interested in details about creating DSA for a platform. Please read the Hardware Platform section of Xilinx Document UG1146.
Build Hardware Platform¶
To create Hardware Platform, under platform/zcu102ng/
vivado -mode batch -notrace -source ./zcu102ng_dsa.tcl
This will generate hardware Device Support Archive
platform/zcu102ng/zcu102ng.dsa
and Hardware Definition File
platform/zcu102ng/zcu102ng_vivado/zcu102ng.hdf
Build Boot Images¶
Using PetaLinux to build necessray Boot Images for the software platform with the Hardware Definition File we created. Yocto Recipes For Embedded Flow.
The boot image files required include
image.ub
bl31.elf
fsbl.elf
pmufw.elf
u-boot.elf
Copy image.ub to platform/zcu102ng/src/a53/xrt/image/
and copy other elf
files to platform/zcu102ng/src/boot/
cp image.ub platform/zcu102ng/src/a53/xrt/image/image.ub
mkdir platform/zcu102ng/src/boot
cp bl31.elf platform/zcu102ng/src/boot/bl31.elf
cp zynqmp_fsbl.elf platform/zcu102ng/src/boot/fsbl.elf
cp pmufw.elf platform/zcu102ng/src/boot/pmufw.elf
cp u-boot.elf platform/zcu102ng/src/boot/u-boot.elf
Build Software Platform¶
To Create Software Platform, under platform/zcu102ng/
xsct -sdx ./zcu102ng_pfm.tcl
The created zcu102ng platform will be posted at
platform/zcu102ng/output/zcu102ng/export/zcu102ng
Make use of Platform¶
Here is a simple example of how to make use of the customized platform we built. Suppose we have a hello world OpenCL application hello.cl, we can use xocc tool to build boot images (including BOOT.BIN) on zcu102 board.
xocc -c -t hw --platform <PATH_TO_PLATFORM>/zcu102ng.xpfm hello.cl -o hello.xo
xocc -l -t hw --platform <PATH_TO_PLATFORM>/zcu102ng.xpfm hello.xo -o hello.xclbin --sys_config xrt
The boot images will be posted at sd_card directory