This repository contains application-specific PL firmware files for the Kria Starter Kits.
For kr260, kv260, and kd240 each set of firmware files consists of:
- PL bitstream binary
- Xclbin binary (optional)
- Device tree overlay source or binary
- json file required by dfx-mgr
For k26-dfx/2rp each set of firmware files consists of shell and reconfigurable module(RM) files. Flat or DFX shell design files
- PL base shell bitstream
- Shell device tree overlay source
- shell json required by dfx-mgr.
RM files There are two DFX slots on k26 DFX design. RM has two directories, one corresponding to each slot. For each DFX slot, the following RM files are provided:
- RM partial bitfile
- RM Device tree overlay source
- Accelerator json required by dfx-mgr.
- Xclbin binary (optional)
- smartcam
- aibox-reid
- defect-detect
- nlp-smartvision
- benchmark-b4096
- bist
- tsn-rs485pmod
- mv-camera-mono
- mv-camera-color
- gps-1588-ptp
- bist
- motor-ctrl-qei
- bist
- AES192
- AES128
- FFT
- FIR
At runtime devicetree overlay (.dtbo) and fpga configuration data (.bin) are needed as binaries. Make flow is introduced to generate the required binaries for all supported applications listed above. Compiling the binaries are dependent on 'bootgen utility' a dependent tool needed before running make.
For certain applications, the device tree source files have been moved to the kria-vitis-platforms repository next to the corresponding Vivado and Vitis design source files: https://github.com/Xilinx/kria-vitis-platforms. Additionally, the bitstream may be provided as .bin file directly which makes the conversion from .bit to .bin using bootgen obsolete.
Following are example illustrations
Users can compile and Install binaries at runtime on xilinx target using the following commands.
To build and install all the bitstreams (flat and dfx)
sudo apt install bootgen-xlnx
git clone https://github.com/Xilinx/kria-apps-firmware.git
cd kria-apps-firmware/
sudo make install
For kr260, kv260, and kd240 flat bitstreams only
sudo apt install bootgen-xlnx
git clone https://github.com/Xilinx/kria-apps-firmware.git
cd kria-apps-firmware
sudo make -C boards/ install
For k26-dfx/2rp DFX bitstreams only
sudo apt install bootgen-xlnx
git clone https://github.com/Xilinx/kria-apps-firmware.git
cd kria-apps-firmware/
sudo make -C k26-dfx/2rp install
For a single application firmware bundle
sudo apt install bootgen-xlnx
git clone https://github.com/Xilinx/kria-apps-firmware.git
cd kria-apps-firmware/boards
sudo make APPS=kd240/motor-ctrl-qei/ install
Note: The trailing slash when passing the APPS variable is required.
Source the 'bootgen utility' a dependent tool before running make. You can install Bootgen from the Vivado Design Suite installer see (UG973) for all possible installation options. Run make on a linux host machine to build reqiured binaries.
For all bitstreams (flat and dfx)
git clone https://github.com/Xilinx/kria-apps-firmware.git
cd kria-apps-firmware
sudo make
For kr260, kv260, and kd240 flat bitstreams only
git clone https://github.com/Xilinx/kria-apps-firmware.git
cd kria-apps-firmware
sudo make -C boards/
For k26-dfx/2rp DFX bitstreams only
git clone https://github.com/Xilinx/kria-apps-firmware.git
cd kria-apps-firmware
sudo make -C k26-dfx/2rp
The XCLBIN and BITSTREAM or BIT files distributed with this project are provided in binary form under free and permissive binary-only licenses; source files are not provided. While the free and permissive licenses are similar to the BSD open source license, it is NOT the BSD open source license or any other OSI-approved open-source license.
The device tree source (DTSI) files distributed with this project are released under the terms of the GNU General Public License version 2.