Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Some links on this page are affiliate links: if you buy through them we may earn a commission, at no extra cost to you.

The AMD Kria KV260 Vision AI Starter Kit uses a distinct embedded Vitis workflow: export your Vivado design as an .xsa, package it as a Vitis platform .xpfm, build a kernel and Linux host application, then deploy a device-tree overlay, acceleration binary and executable to the board’s existing Linux image. You normally do not rebuild the Starter Kit’s complete SD-card boot image for each accelerator.

This procedure follows AMD’s KV260-specific XD101 tutorial for Vitis 2025.1, released July 31, 2025. Menu names and paths can change in later releases, so verify them against the documentation shipped with your installed toolchain.

What the KV260 platform actually is

A Vitis platform is the reusable contract between Vivado hardware, Linux, XRT, memory, AXI control paths, interrupts, the Vitis linker and the host program. Vivado exports hardware information in an XSA; Vitis combines that information with software and runtime metadata to produce an XPFM platform description. See AMD’s platform-creation overview.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Artifact Produced by Role
.xsa Vivado Hardware design export
.xpfm Vitis Packaged acceleration platform
pl.dtbo Vitis device-tree flow Linux overlay describing programmable logic
.xo Vitis kernel compiler Kernel object before linking
.xclbin Vitis linker Kernel/system binary container
.bin Deployment rename of the XCLBIN Filename used by the documented KV260 application package
shell.json Application package Describes the XRT flat shell slot
Host executable Vitis compiler Linux program that opens XRT and launches the kernel

Why KV260 is different from generic Vitis examples

The board contains a Kria K26 SOM with a Zynq UltraScale+ MPSoC, not a Versal AI Engine device. AMD’s product brief lists 256K system logic cells, 144 block-RAM blocks, 64 UltraRAM blocks, 1.2K DSP slices and 4 GB non-ECC DDR: KV260 product brief.

#1 Best Overall
Digilent Basys 3 Artix-7 FPGA Trainer Board: Recommended for Introductory Users
  • Designed for students and beginners looking to understand Digital Logic, fundamentals of FPGAs
  • Features the Xilinx Artix 7 FPGA compatible with Vivado Design Suite WebPACK Edition (free download available from Xilinx)
  • On board user interfaces include 16 user switches, 16 LEDs, 5 user pushbuttons, and a
  • Expansion opportunities with four Pmod ports including 3 standard 12-pin Pmod ports and 1 dual
  • Does NOT ship with micro USB cable

In the Starter Kit flow, the supplied boot image is treated as fixed. Your application is loaded after Linux starts through xmutil, using a programmable-logic device-tree overlay and an acceleration binary under /lib/firmware/xilinx/<application>. This avoids rebuilding the FSBL, U-Boot, kernel and root filesystem for every kernel iteration. A custom PetaLinux system remains appropriate when you need kernel, rootfs, driver or boot-component changes.

Version and prerequisite checklist

Item Reference value
AMD document XD101, Custom Kria SOM Platform Creation Example
Reference release Vitis 2025.1
Linux processor psu_cortexa53
Linux domain name xrt
Common image family xilinx-zynqmp-common-v2025.1
Example sysroot cortexa72-cortexa53-amd-linux

Have a bootable KV260 SD card, Vivado and Vitis 2025.1 on a suitable Linux workstation, the matching AMD common image, a KV260-based Vivado design, Ethernet, SSH/SCP access, target-side XRT and enough disk space and RAM for synthesis and linking. The tutorial assumes the board already boots successfully: AMD’s KV260 example.

Step 1: create and export the Vivado hardware

Start from the KV260 preset or AMD reference design. Add the platform-required clocks, resets, AXI control and memory interfaces, and interrupt wiring; then validate the block design and export an XSA, for example:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
kv260_hardware_platform.xsa
  • Clocking: kernel and platform clocks must be defined and connected consistently.
  • Reset: an incorrect reset topology can leave the kernel or platform unusable.
  • AXI control: the processor needs a control path to the accelerator.
  • Memory: kernel buffers must map to accessible DDR or another supported memory target.
  • Interrupts: XRT depends on correct interrupt metadata and wiring.

Follow AMD’s hardware procedure at Create the Vivado Hardware Design and Generate XSA.

Step 2: package the XSA as a Vitis platform

  1. Initialize a workspace:
    vitis -w .
  2. In Vitis Unified IDE choose File > New Component > Platform.
  3. Name the platform, such as kv260_custom, and select kv260_hardware_platform.xsa.
  4. In Advanced Options, leave SDT Source Repo, Board DTSI and User DTSI empty unless your design needs them. Enable DT ZOCL so the generated device tree contains the XRT ZOCL node.
  5. Set operating system to Linux, processor to psu_cortexa53, and rename the Linux domain to xrt.
  6. Select the matching common-image directory when software components are requested, then build the platform.

The resulting file is typically similar to WorkSpace/kv260_custom/export/kv260_custom/kv260_custom.xpfm. The same flow generates the PL device-tree data used to create pl.dtbo; it must come from the same hardware design as the XSA and XCLBIN. Details are in Create the Vitis Platform and Step 2: Create the Vitis Platform.

Rank #2
Arty A7: Artix-7 FPGA Development Board for Makers and Hobbyists (Arty A7-100T)
  • Arty A7 comes in two FPGA variants: Arty A7-35T features Xilinx XC7A35TICSG324-1L. Arty A7-100T features the larger Xilinx XC7A100TCSG324-1.
  • Internal clock speeds exceeding 450MHz, On-chip analog-to-digital converter (XADC), Programmable over JTAG and Quad-SPI Flash
  • 256MB DDR3L with a 16-bit bus @ 667MHz, 16MB Quad-SPI Flash, USB-JTAG Programming circuitry, Powered from USB or any 7V-15V source
  • 10/100 Mbps Ethernet, USB-UART Bridge
  • 4 Switches, 4 Buttons, 1 Reset Button, 4 LEDs, 4 RGB LEDs, 4 Pmod connectors, shield connector

Sysroot, common image and optional PetaLinux

For the standard Starter Kit flow, the common image is mainly valuable as a matching sysroot because the board already has its boot image. The example uses xilinx-zynqmp-common-v2025.1/sysroots/cortexa72-cortexa53-amd-linux to cross-compile the host.

If you need a custom kernel, root filesystem or device tree, use AMD’s optional BSP route. Enable packagegroup-petalinux-vitis-acceleration-essential and, when needed, packagegroup-petalinux-vitis-acceleration-dbg, then build:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
petalinux-config -c rootfs
petalinux-build
petalinux-build --sdk

That route gives control over Linux and boot components but introduces longer builds and tighter version coupling. See AMD’s optional BSP procedure.

Configure the development environment

source <Vitis_install_path>/settings64.sh
source /opt/xilinx/xrt/setup.sh
export PLATFORM_REPO_PATHS=<path to platforms>

Vitis and XRT are used in different places: Vitis builds on the workstation, while XRT libraries, drivers and ZOCL support run on the KV260. A host linked against one sysroot should not be assumed compatible with an unrelated target image.

Validate the platform before building an application

platforminfo ./kv260_custom/export/kv260_custom/kv260_custom.xpfm

The reference output identifies platform kv260_custom, Vitis 2025.1, FPGA family zynquplus, device xck26, board xilinx.com:kv260_som:1.4, board part xck26-sfvc784-2LV-c, clocks near 100, 200 and 400 MHz, and a Linux Cortex-A53/XRT domain. If board, device, clocks, memory tags or runtime are wrong, fix the platform before debugging kernel code. See AMD’s platforminfo test.

Rank #3
Sipeed Tang Nano 20K GW2AR-18 QN88 FPGA Development Board with 64Mbits SDRAM 828K Block SRAM Linux RISCV Single Board Computer for Retro Game Console Support microSD RGB LCD JTAG Port
  • [FPGA Chip] GW2AR-18 QN88 FPGA Chip containing 20736 LUT4 logic cells and 15552 Filp-Flops.There are 2 PLL in this FPGA chip, and many DSP units supporting 18 bit x 18 bit multiplication
  • [Onboard Debugger ] Sipeed Tang Nano 20K Development Board support JTAG for FPGA, USB to UART for FPGA,USB to SPI for FPGA communication, Control MS5351 generate frequency
  • [USB2.0 HS interface] The 27MHz crystal generates the clock for HDMI display, onboard MS5351 clock generating chip also provides mutiple clocks.Support Serial communication, high-speed SPI reception.
  • [Application scenarios] Tang Nano 20K Open source Development Board supports game console emulators, drives RGB screens, multiple display outputs, 20K LUT4, RISC-V soft-core experiments.
  • [Wiki] "dl.sipeed.com/shareURL/TANG/Nano_20K/1_Datasheet";Any after-Sales Privems, Please Contact us by click "Waypondev" store and ask a question or leave the message in our forum by "forum.youyeetoo .com/".

Build a first kernel and host program

  1. Open the Vitis Examples view and choose Simple Vector Addition.
  2. Select Create Application from Template and use a system name such as vadd.
  3. Select the kv260_custom platform and set the sysroot to xilinx-zynqmp-common-v2025.1/sysroots/cortexa72-cortexa53-amd-linux.
  4. Build the hardware target, binary container and host component.

Typical outputs are:

WorkSpace/vadd/build/hw/hw_link/binary_container_1.xclbin
WorkSpace/vadd_host/build/hw/vadd_host

The XCLBIN contains the linked system bitstream and kernel metadata. Unlike a generic Alveo deployment, this KV260 example does not put a new kernel image and root filesystem into a complete SD-card image.

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Package the KV260 application

Rename the generated XCLBIN for the documented Starter Kit deployment and create the application directory:

vadd/
├── pl.dtbo
├── binary_container_1.bin
└── shell.json

The example shell.json is:

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

The overlay, binary and shell description must describe one coherent build set. Do not reuse a DTBO from another XSA or copy an XCLBIN built against a different platform.

Transfer files and load the design

scp pl.dtbo binary_container_1.bin shell.json vadd_host 
  petalinux@<SOM Starter Kit IP>:/home/petalinux

On the KV260:

sudo mkdir -p /lib/firmware/xilinx/vadd
cd /home/petalinux
cp pl.dtbo binary_container_1.bin shell.json 
  /lib/firmware/xilinx/vadd
sudo xmutil listapps
sudo xmutil unloadapp
sudo xmutil loadapp vadd

A successful load reports vadd: loaded to slot 0. listapps shows known applications, unloadapp releases an occupied slot, and loadapp applies the overlay and loads the acceleration binary. The exact deployment sequence is documented in AMD’s vector-addition test.

Run the host application

chmod +x ./vadd_host
./vadd_host binary_container_1.bin

The reference result is:

TEST PASSED
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Troubleshooting by symptom

Platform metadata is wrong

Recheck the XSA selected during platform creation, the KV260 board part, psu_cortexa53 processor and xrt domain. Do not substitute Versal examples that use different processor names or boot assumptions.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Rank #4
Nandland Go Board - FPGA Development Board for Beginners with USB Cable, 4 LEDs, 4 Push-Buttons, 7-Segment Display, VGA, PMOD, Win/Mac/Linux Compatible
  • The best way to get started with FPGAs: Using a simple board with projects that build on eachother, now anyone can get started with FPGA development!
  • Fun peripherals available: With 4 LEDs, 4 push-buttons, 7-segment display, USB connector, a VGA connector, and a PMOD (for expansion) you can have dozens of fun projects available to you out of the box!
  • Works with Verilog and VHDL: No matter which programming language you want to get started with, the Go Board will work for you!
  • No extra device required: Simply plug the Go Board into a USB port and go! Getting started with FPGAs has never been easier.
  • Works with all operating systems: Windows, Mac, Linux

xmutil loadapp fails

  • Confirm all three package files are under /lib/firmware/xilinx/vadd.
  • Regenerate pl.dtbo from the same XSA used for the platform and XCLBIN.
  • Run sudo xmutil listapps, unload the existing application, then retry.
  • Check that the application name matches the directory name.

The host cannot find XRT

AMD’s example reports libxilinxopencl.so.2: cannot open shared object file when XRT is absent and suggests:

sudo dnf install xrt

That command is image-dependent. Check the package manager, repositories and XRT version supplied by your particular KV260 image before installing anything.

The executable runs but the ABI is incompatible

Rebuild the host with a sysroot matching the booted target image. Mixing arbitrary Vitis, common-image, PetaLinux and XRT releases can produce missing libraries or runtime incompatibilities.

The binary is still named .xclbin

The documented KV260 package uses binary_container_1.bin, and the host command must reference that deployed filename. The rename is a KV260 application convention, not a universal rule for every Vitis target.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

When to choose another workflow

Prebuilt KV260 applications

Use AMD’s supplied applications when you only need a demonstration or vision-AI experiment and do not need custom programmable-logic hardware or kernels.

Best Value
Digilent Basys 3 Artix-7 FPGA Trainer Board: Recommended for Introductory Users
  • Digilent Basys 3 Artix-7 FPGA Trainer Board: Recommended for Introductory Users

Custom PetaLinux

Choose PetaLinux when you need additional drivers, kernel configuration, rootfs packages, device-tree changes or production boot integration. Expect more build time and maintenance.

ZCU104 or Versal platforms

A ZCU104 can be useful for generic Zynq UltraScale+ learning, while Versal boards suit AI Engine development. Their processor names, platform metadata, boot model and deployment steps are not interchangeable with the KV260 procedure.

Likewise, xmutil loading is runtime application loading through an overlay and binary; it should not be described as full Vivado Dynamic Function eXchange.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Frequently Asked Questions

Do I need to generate a new KV260 SD-card image for every kernel?

Not for AMD’s standard Starter Kit application flow. Keep the supplied boot image and deploy the matching pl.dtbo, renamed binary, shell.json and host executable under /lib/firmware/xilinx/<app>.

Why is a device-tree overlay required?

The KV260 loads programmable-logic hardware after Linux boots. pl.dtbo describes that hardware to Linux and XRT, including devices and interrupts.

Can I use a Versal Vitis tutorial for KV260?

No. KV260 is a Zynq UltraScale+ MPSoC platform with a psu_cortexa53 domain; Versal examples use different processors, platform architecture and boot procedures.

Quick Recap

Bestseller No. 1
Digilent Basys 3 Artix-7 FPGA Trainer Board: Recommended for Introductory Users
Digilent Basys 3 Artix-7 FPGA Trainer Board: Recommended for Introductory Users
On board user interfaces include 16 user switches, 16 LEDs, 5 user pushbuttons, and a; Does NOT ship with micro USB cable
$220.00
Bestseller No. 2
Bestseller No. 5
Digilent Basys 3 Artix-7 FPGA Trainer Board: Recommended for Introductory Users
Digilent Basys 3 Artix-7 FPGA Trainer Board: Recommended for Introductory Users
Digilent Basys 3 Artix-7 FPGA Trainer Board: Recommended for Introductory Users
$164.95

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.