Chapter 6: Example Design
DPU IP Product Guide
40
PG338 (v1.2) March 26, 2019
Set PetaLinux Variable
Set the following PetaLinux environment variable $PETALINUX:
% source <path/to/petalinux-installer>/Petalinux-v2018.2/petalinux-v2018.2-
final/settings.sh
% echo $PETALINUX
% export TRD_HOME=<path/to/downloaded/zipfile>/zcu102-dpu-trd-2018-2
Build the PetaLinux Project
Use the following commands to create the PetaLinux project:
% cd $TRD_HOME/apu/dpu_petalinux_bsp
% petalinux-create -t project -s xilinx-dpu-trd-zcu102-v2018.2.bsp
% cd zcu102-dpu-trd-2018-2
% petalinux-config ––get-hw-description=$TRD_HOME/pl/pre-built --oldconfig
% petalinux-build
If the pre-built design is needed, use the
––get-hw-description
path below.
If the new generated/modified design is needed, change the
$TRD_HOME/pl/pre-built
path to
$TRD_HOME/pl/prj/zcu102.sdk/.
Create BOOT.BIN
Use the following to create the BOOT.BIN file:
% cd images/linux
% petalinux-package --boot --fsbl zynqmp_fsbl.elf --u-boot u-boot.elf --pmufw
pmufw.elf --fpga system.bit
This section describes how to run the executables generated by the TRD. Connect to ZCU102 board
through UART or Ethernet. Note the login/password on the ZCU102 board is
root/root
.
Build the Demo
This section describes how to build the resnet50 example from the source. The pre-built resnet50 under
$TRD_HOME/images
can be used to skip this step. The following example runs on one of the DPU
cores only. For a multi-threading example, refer to the
DNNDK User Guide
.
1.
First, extract the SDK:
% cd $TRD_HOME/apu/apps
% ./sdk.sh -d ./sdk -y
You can use the pre-generated
sdk.sh
under
$TRD_HOME/apu/apps
or use
petalinux-build
-s
to generate your own
sdk.sh
. If the permission is denied running
sdk.sh
, run
chmod 777
sdk.sh
.
2.
Build the resnet50:
% cd $TRD_HOME/apu/apps/resnet50
% make