The Linux application controlling the hardware can be launched through
multiple methods, however this guide focus on launching as user space application on
command line. For other alternatives, refer to EDF Software Application Development how
to deploy and execute applications. Bare metal applications typically launch at boot
with PL and AIE loaded by PLM/PMC or through BSP
xilfpga library.
.dtbo and
.xclbin.The recommended method to communicate with kernels is to use Xilinx Runtime (XRT) with the application. For single
stage boot, the PL and/or AIE is loaded at boot. For
deferred or multi-stage boot, the PL and/or AIE is loaded by the application (deferred
load), or fpga-util (segmented configuration). To check that the PL and AIE is loaded
and ready for use, run xrt-smi -examine and verify
that the device is ready.
# Run application in single stage boot scenario
sudo ./host.exe <PL_PDI_NAME>.xclbin
# Run application in multi-stage boot scenario:
sudo fpga-util -b <PL_PDI_NAME.pdi> -o <PL_PDI_NAME.dtbo>
sudo ./host.exe <PL_PDI_NAME>.xclbin
sudo because /dev/aie
is owned by root as default. Privileges can be modified by designer.storage partition for transferring
updated host applications, data payloads, and log files. This simplifies debug and
analysis of application runs as this can natively be accessed by both Linux and Windows.