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 (*.bin). 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
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

For more information, refer to the instructions provided in the readme file here.

Next Steps

Copyright© 2023 Advanced Micro Devices, Inc.