Kria™ KR260 Robotics Starter Kit Tutorial
Generation of Firmware binaries
Generation of Firmware binaries¶
Testing custom Accelerator/firmware binaries¶
Customers requiring to test custom hardware/accelerator can do so by following the below steps on the ubuntu platform.
It is assumed that a custom platform design has been generated using an AMD Vivado™/AMD Vitis™ and bitstream/xclbin is available. Similarly, a correct device-tree overlay for the custom hardware is created or generated. AMD DTG could be used for the device-tree generation. Refer to the link for more information on DTG.
From previous steps, following binaries are available:
custom-hardware.bit (obtained by Vitis)
custom-metadata.xclbin (obtained by Vitis) (optional)
custom-devicetree.dtsi (obtained by DTG)
On the ubuntu platform, the bitstream header is stripped to obtain fpga configuration data as a bin object (
The metadata xclbin is consumed as is from Vitis.
A runtime device-tree blob corresponding to the PL bitstream is required (
.dtbo) to be loaded as an overlay, which when loaded in kernel, invokes all the drivers corresponding to the PL bitstream.
A makefile is provided to generate the required firmware binaries and install. This makefile takes the above binaries and provides the following outputs as shown below. The artifacts of the makefile are installed on the target device at
/lib/firmware/xilinx/< accelerator-dir >. The firmware is loaded at runtime using xmutil.
custom-hardware.bit -> custom-hardware.bin
custom-devicetree.dtsi -> custom-devicetree.dtbo
An example has been illustrated below as a reference:
git clone --branch xlnx_rel_v2022.1 https://github.com/Xilinx/kria-apps-firmware.git mv custom-hardware.bit kria-apps-firmware/kr260/tsn-rs485pmod/kr260-tsn-rs485pmod.bit mv custom-device-tree.dtsi kria-apps-firmware/kr260/tsn-rs485pmod/kr260-tsn-rs485pmod.dtsi cd kria-apps-firmware make
For more information, refer to the instructions provided in the readme file here.