The purpose of this page is to provide developers with information and links to collateral available for the Kria K26 SOM, including documentation, pre-built images, firmware updates, and GitHub repositories. It is meant to augment other official documentation found at the Kria SOM product page at Xilinx.com.
Table of Contents
Xilinx Kria is a portfolio of System-On-Modules (SOMs) designed for edge applications in a variety of use cases and production settings. The K26C/I SOMs are meant to be integrated directly into a customers production design and the SOM Starter Kit (e.g. KV260) are an evaluation and early development platform. The Kria lineup simplifies and accelerates the system development, helping you get your product to market faster.
The K26 system-on-module (SOM) is a production ready hardware platform.
KV260 Starter Kit
The KV260 is an evaluation kit based on the K26 SOM focused on vision applications.
First time SOM Starter Kit users should refer to the on-line “Getting Started” guide for their kit:
The SOM Starter Kits use a two stage boot process. The primary boot firmware is pre-installed at the factory on the QSPI device. The secondary boot device is an SD card containing the Linux kernel and Linux root filesystem (rootfs). The SD card images are available in the table below.
KV 260 SD Card Image
KV 260 SD Card Image
KV260 2020.2.2 SD Card Image - 2020.2.2
PetaLinux 2020.2.2 production pre-built SD card to support initial boot of the KV260 Starter Kit.
After initial boot of a new SD card image it is best practice to execute sudo dnf update in order to update core utilities that may have been released following the SD card image release.
In some scenarios it may be required to clean the local dnf cache first. To do so execute sudo dnf clean all
Accelerated Applications & Library Packages
The SOM Starter Kits use the Linux dnf package manager to deploy, update, and maintain the accelerated application (AA) and their supporting libraries. These application packages are available in the SOM Starter Kit package feed at petalinux.xilinx.com. The xmutil “getpkgs” function provides an easy to use method to query and identify the packages applicable to the Starter Kit it is actively running on. The “getpkgs” uses normal dnf functionality which is supported and enabled by default in the SOM Starter Linux images. The AA documentation including install, getting started, and how to build is maintained on the Starter Kit documentation GitHub.
Boot Firmware Updates
The SOM Starter Kits have factory pre-programmed boot firmware that is installed and maintained in the SOM QSPI device. Occasionally firmware updates will be made available in the table below which can be updated from Linux using the “xmutil bootfw_update” on-target utility. The KV260 supports an A/B update mechanism to ensure that the platform has a known good fallback in the event of an issue during the upgrade process. The on-target utility will update the new boot firmware (BOOT.BIN file) into the non-active slot and then set the firmware to become active on the next boot cycle.
KV260 Boot FW Image
KV260 Boot FW Image
KV260 2020.2.2 Boot FW Update - 2020.2.2
BOOT.BIN update to support Smart Cam audio PLL requirement.
The SOM on-target management utility xmutil provides bootfw_update and bootfw_status utility for updating and checking the status of the boot FW from Linux.
The xmutil bootfw_update and bootfw_status utilities have a known issue with the factory QSPI image (20210225) in which it will always return a “persistent registers are corrupted” message. If your board has this factory QSPI image you must use the “Image Recovery Tool” to update your Starter Kit boot firmware. To check the factory boot FW version you can directly read the version register information via U-Boot or Linux. Below are U-Boot commands and expected result for a board with QSPI image (20210225). The factory image 20210422 image and beyond have addressed this issue.
The xmutil provides a utility to help in the update of the on-target boot firmware with the following steps:
Download the boot firmware update from the table above. It should be a Xilinx BOOT.BIN file.
Move the BOOT.BIN file to the SOM Starter Kit target using FTP (or similar method). Note when copying file remotely you must copy it to the petalinux user directory.
Execute “sudo xmutil bootfw_update -i <path to boot.bin>”.
Restart the platform.
After restart execute “sudo xmutil bootfw_update -v” to validate successful boot of the new image.
Boot FW status with xmutil
The xmutil also provides a “bootfw_status” command which can be used to identify which image is active, which image was last booted, and what image is going to be booted on the next boot. The version information noted from bootfw_status represents the factory installed version and will not change when you update individual boot partitions.
Stand-alone FW Update & Recovery Utility
The K26 boot firmware is comprised of an “Image Selector” application, A/B MPSoC boot FW partitions, and an “Image Recovery” application. It is suggested for users to use the xmutil boot FW update tool as the primary boot FW update mechanism. If the user however gets to a state where they either want to reset the board to factory settings they can use the “Image Recovery Tool” which is a stand alone application for manually loading and configurating content of both A and B boot partitions.
The image recovery tool works in a similar manner to typical home router initial configuration with a static IP and web-server based tool which is used to directly update the A/B partitions and the persistent register states. This tool can be used to write the a factory BOOT.BIN image from the Starter Kit Boot FW table above to overwrite either image partition or both using the “Recover Image” function. The tool can also be used to modify the bootable state of each partition. If uploading a BOOT.BIN the tool will by default configure that partition to a “bootable” state.
The static IP is printed to the UART when the system is powered on with the FWUEN button pressed. See UG1089 for details on set-up and use of the Recovery Tool.
Note that Image Recovery Tool is only validated with following web-browsers:
QSPI image 20210225 -> Firefox only.
QSPI image 20210422 -> Firefox & Chrome
When using Image Recovery Tool on the boards with factory QSPI image 20210225; always upload your new boot FW as Image A by selecting the Image A radial button in the Select Image to be recovered and the Requested Boot Image sections of the Image Recovery Tool.
Boot FW HW Details
The boot FW of the KV260 Starter Kit is pre-loaded at time or production in the SOM QSPI memory. This device is intentionally isolated from the SD card to ensure that the board is always in a bootable state and SW developers can primarily focus on OS level updates and late bound loading of bitstreams. Sectors of the QSPI device are locked during production to prevent accidental overwrite in customer systems; with the only sectors that can be over-written are the A and B boot partitions discussed above and supported by the xmutil and Image Recovery tools. The QSPI memory layout and read/write access is defined in the following table.
Image Selector Application
Image Selector Application - Fall back
Persistent Register - Backup
“Image A” - BOOT.BIN
Image Selector - Catch A
“Image B” - BOOT.BIN
Image Selector - Catch B
Image Recovery Application
Image Recovery Application - Backup
U-Boot Storage Variables
U-Boot Storage Variables - Backup
QSPI Image Information
PetaLinux Board Support Packages
PetaLinux Board Support Packages (BSP) includes pre built images, a design and all the necessary instructions to rebuild the pre-built images from scratch. With PetaLinux, developers can have their Xilinx-based hardware booted and running within about 5 minutes after installation; ready for application, library and driver development. The base design that is included can be used as a starting point for hardware developers while the instructions on how to rebuild the Linux image can be used as a starting point by the embedded software engineering to create a custom Linux image.
BSP Download Link
BSP Download Link
K26 Starter Kit SOM (KV260) - PetaLinux 2020.2.2
The K26 Starter Kit SOM BSP implements a multi-domain (staged boot process), multi-carrier card (dynamic DT loading), and application agnostic BSP which is used to create the SOM Starter Linux SD card images linked above.
This BSP enables the same peripherals that are defined in the Vivado KV260 Starter Kit board file.
The K26 Production SOM is a “starter” BSP configuration for customers beginning their production carrier card design. As no assumptions can be made about the carrier card design it provides peripheral configurations based only on the K26 SOM design (e.g. DDR, QSPI, eMMC) with only power supplied from their carrier card and UART1 being made available on MIO36-37.
This BSP enables the same peripherals that are defined in the Vivado K26C and K26I SOM board files.
Note: That the production SOMs are shipped with no content on the QSPI. Thus the BSP must be used with a single boot device. See UG1091 for details on setting boot mode configurations during carrier card design.
The initial SOM release is supported by a special release of the PetaLinux tool, version 2020.2.2. This version of PetaLinux is intended to only support the K26 SOM and Starter Kit. The 2020.2.2 SOM BSPs will only work with this specific version of the PetaLinux tool. The PetaLinux 2020.2.2 tool also must be installed with a full install method and not via the petalinux-upgrade function. See the PetaLinux 2020.2 downloads page for the Kria K26 Special Release information, PetaLinux installer, and support files.
You will find new boot firmware at /image/linux/BOOT.BIN. The new BOOT.BIN can be loaded to the Starter Kit using the xmutil bootfw_update utility described above
The K26 Starter Kit boot mode pins are set for QSPI boot mode. The xmutil and Image Recovery tools provide a facility for updating one of the boot FW partitions of the QSPI device. If you desire to temporarily use a different boot mode for testing you must set the MPSoC BOOT_MODE_USER Register at 0xff5e0200 and issue a reset to override the board default.
Vivado Board Support Packages
The K26 SOM is supported Vivado with three board files that automate the configuration of the SOM based peripherals. These board files are available on Xilinx’s GitHub Board Store and are supported in Vivado 2020.2.2 or later.
K26C SOM - Commercial grade K26 SOM.
K26I SOM - Industrial grade K26 SOM.
KV260 Starter Kit - K26 based Starter Kit SOM with Vision AI Carrier Card connector interface.
A Vitis platform defines the physical peripherals implemented in the FPGA. As the SOM itself is application agnostic and FPGA peripherals are implemented on the carrier card, the Xilinx provided references focus on the SOM Starter Kits.
The KV260 Starter Kit Vitis Platforms and example overlays are available in the KV260 Vitis GitHub. The platform names describe the physical functionality that they enable on the carrier card. As the KV260 carrier card uses a DP/HDMI splitter the platform names including “DP” functionally enable both DisplayPort and HDMI.