In this guide, I explain how to build and run a hardware accelerator application on the Kria KV260 Vision AI Starter Kit using the AMD Vitis™ Unified Software Platform 2025.2.

The example application used throughout this tutorial is the Simple Vector Addition (vadd) accelerator example provided with Vitis.

The complete workflow consists of four major stages:

  • Prepare the KV260 SDCard
  • Developping the Vector Addition Application
  • Transfer Generated Files into KV260 Board
  • Run the Application

This tutorial assumes familiarity with Linux command-line usage and basic FPGA development concepts.

Development Environment

You can follow this tutorial using:

  • Native Ubuntu Linux installation or
  • Dual-boot Ubuntu or
  • Virtual machine or
  • Windows Subsystem for Linux (WSL2) on Windows 11

For this demonstration, the development environment uses:

  • Windows 11 host machine
  • Ubuntu 24.04 LTS
  • WSL2

Step 1: Prepare the KV260 SDCard

Before developing and deploying applications, the KV260 board must boot a compatible Linux image. The recommended approach is to use the official AMD Embedded Distribution File System (EDF) image.

1-SD-Card Image

Download   SD/Wic Image Kria Generic file from the AMD Vitis Download page under the Embedded Software tab, as shown the following image.

Visit the official AMD Vitis Download Page.

Under the Embedded Software section, download:

The downloaded file is typically a .wic.xz or similar disk image format.

This image contains:

  • Bootloader
  • Linux kernel
  • Root filesystem
  • XRT runtime support

2-Flash SD-Card:

Use a tool such as:

to flash the downloaded image onto a microSD card.

Recommended SD card specifications:

  • Minimum 16 GB
  • Class 10 or better

Flashing Procedure

  1. Insert the SD card into your PC
  2. Open balenaEtcher
  3. Select the downloaded WIC image
  4. Select the SD card
  5. Click Flash

After completion, safely eject the SD card.

3-Kria SOM Boot Firmware Update:

The KV260 board includes factory-programmed firmware stored in the QSPI flash memory of the SOM.

This firmware should be updated whenever AMD releases a newer version compatible with your Vitis release.

From the same AMD Vitis Download page under the Embedded Software section, download:

Then follow the firmware recovery/update procedure described in the official AMD documentation:

Step 2: Developping the Vector Addition Application

This section explains how to:

  • Install required software
  • Configure the sysroot
  • Create the Vitis application
  • Build the hardware accelerator

2.1- Install required software:

Download Vitis from:

During installation:

  • Enable KV260 platform support
  • Install embedded development tools

2.2Download the ZynqMP Common Image:

Download the following package from the Vitis Embedded Platform section:

xilinx-zynqmp-common-v2025.2_11160223.tar.gz

Extract it:

tar -zxvf xilinx-zynqmp-common-v2025.2_11160223.tar.gz

Move into the extracted directory:

cd xilinx-zynqmp-common-v2025.2/

Run the SDK installer:

./sdk.sh -d .

This generates the sysroots directory required for application compilation.

2.3- Create the Vitis Application:

Create a workspace directory:

mkdir vadd_workspace

Move into it:

cd vadd_workspace

Run the Vitis with the current folder as the workspace.

vitis -w .

The Vitis IDE should open.

2.4- Import the Simple Vector Addition Example:

Inside the Vitis IDE:

  1. Open the Welcome tab
  2. Click Examples

In the list of Examples Select Simple Vector Addition

The click on “Create System Project from Template” link in the Simple Vector Addition tab.

2.5- Configure the Project:

Use the following settings.

Accept the vadd as the System project name and press Next.

Then select the xilinx_kv260_base_202520_1 platform and press Next.

In the next page, click on the Brows next too the Sysroot and locate the cortexa72-cortexa53-amd-linux folder under the sysroots that you created earlier. Then click Next.

Finally, press on the Finish icon.

Vitis now generates:

  • Host application
  • Hardware kernel
  • Build configuration
  • Link scripts

After a short delay, the project appears in the IDE explorer.

Explore the folders and code to understand the strcuture of files in the IDE. In another post, I will explain the file and project strcuture.

2.5- Build the Application:

Click on Build All under the component vadd in the FLOW tab.

Make sure that both vadd_host and vadd_vadd option are selected and press OK.

The build process performs:

  1. C/C++ compilation
  2. HLS kernel synthesis
  3. Vivado implementation
  4. Bitstream generation
  5. XCLBIN packaging

Depending on hardware resources, this may take:

  • 10–60 minutes

Step 3: Transfer Generated Files to the KV260 Board

After a successful build, several files must be copied to the KV260 board.

Required files:

1- pl.dtbo

This file can be found in <Vitis Installation flder>/2025.2/Vitis/base_platforms/xilinx_kv260_base_202520_1/sw/boot folder.

The purpose of this file is to provide device-tree overlay for programmable logic configuration.

2- vadd.xclbin

This file is generated by Vitis and can be found at <vitis app workspace>/vadd/build/hw/hw_link folder.

This FPGA binary file contains the accelerator kernel.

3- vadd_host

This fils is also generated by Vitis and is located at <vitis app workspace>/vitis-KV260/vadd_host/build/hw

This file is a Linux executable controlling the accelerator.

4- shell.json

You should create this text file. you can use vi or a text editor of your choice and add the following line in it

{
"shell_type" : "XRT_FLAT",
"num_slots": "1"
}

Boot the KV260 Board

Insert the prepared SD card and power on the board.

Connect via:

  • Serial terminal
  • SSH
  • Ethernet

Recommended serial tools:

1- Create a folder with vadd name in /lib/firmware/xilinx location on the KV260 board. You can use a serial terminal to communicate with KV260 board.

2- Transfer the the four files into the created folder. You can use FileZilla software or scp commanr or other simmilar tools/commands to transfer the files. Note, It is not necessary to copy the vadd_host file in this folder, you can copy that anywhere that you prefer.

3- Make the vadd_host file executable using the following command if it is not already executable

chmod uog+x vadd_host

Step 4: Run the Application

Now to run the application, we should load the bitstream. To do so, execute the following commands

sudo xmutil listapps
sudo xmutil unloadapp
sudo xmutil loadapp vadd


To run the application execute this command

./vadd_host -x vadd.bin

You should see the TEST PASSED message as follows.