Kria KV260 Vision AI Starter Kit
Preparation
Important
Ensure you replace <factory>
with the name of your Factory.
Download the necessary files from
https://app.foundries.io/factories/<factory>/targets
:- Click the latest Target with the platform trigger.
- Expand the run in the Runs section which corresponds with the name of the board.
Download the Factory image for that machine, e.g.,
lmp-factory-image-<machine-name>.wic.gz
orlmp-base-console-image-<machine-name>.wic.gz
.
Hardware Preparation
- Ensure that the power code is disconnected.
- Connect the Micro-USB cable to the J4 connector for serial console output.
Flashing and Boot
Flashing an SD Card
Note
Device names and IDs can slightly differ from the steps below.
Determine which disk to flash by finding the device with the
SIZE
that matches that of your flash drive. Ignore partitions (indicated bypart
underTYPE
). Note theNAME
of the flash drive (e.g.,/dev/mmcblk0
,/dev/sdb
), as it will be used for the disk path:lsblk -po +MODEL
$ lsblk -po +MODEL NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT MODEL /dev/mmcblk0 179:0 0 29.8G 0 disk ├─/dev/mmcblk0p1 179:1 0 41.6M 0 part /mnt/boot └─/dev/mmcblk0p2 179:2 0 29.8G 0 part /mnt/otaroot /dev/zram0 254:0 0 26G 0 disk /out /dev/nvme0n1 259:0 0 953.9G 0 disk SSDPEKKF010T8 NVMe INTEL 1024GB
Flash the disk.
Replace<system-image>
with the path to your system image.Replace/dev/mmcblk<X>
with your chosen disk path.
gunzip -c <system-image> | sudo dd of=/dev/mmcblk<X> bs=4M iflag=fullblock oflag=direct status=progress
Determine which disk you want to flash by finding the device with the
SIZE
that matches that of your flash drive. Ignore partitions (lines without*
in theSIZE
). Note theIDENTIFIER
of the flash drive, (e.g.,/dev/disk3
) as it will be used for the disk path:``diskutil list``:
$ diskutil list /dev/disk3 (internal, physical): #: TYPE NAME SIZE IDENTIFIER 0: FDisk_partition_scheme *15.5 GB disk3 1: Windows_FAT_32 boot 45.7 MB disk3s1 2: Linux 15.5 GB disk3s2
Flash the disk.
Replace<system-image>
with the path to your system image.Replace/dev/disk<X>
with your chosen disk path.
gunzip -c <system-image> | sudo dd of=/dev/disk<X> bs=4M
Windows has no built in tools for flashing the image to disk. We recommend you download and use either Win32 Disk Imager or Rufus.
Note
Your system image is in a compressed wic.gz
format.
To follow these next steps, you must extract it using a tool like 7zip which will leave you with a .wic
image file.
Using Rufus:
- Download and run Rufus.
- Select your disk.
- SELECT your
<system-image>
. - START the flash procedure.
Using Win32 Disk Imager
- Download and run Win32 Disk Imager as Administrator.
- Click the blue folder icon.
- Select your
<system-image>
- Select your disk via the Device dropdown.
- Click Write
- Wait for the image to finish writing. A Write Successful dialog will appear.
- Remove the flash drive and connect it to the board.
- Power on the board to boot the new image.
Flashing QSPI Boot Images
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 system root.
The Xilinx Starter Kit carrier card hardware design sets and factory-locks the MPSoC boot mode to QSPI32. The SoM boots to U-Boot using the QSPI contents, and U-Boot then does a hand-off to the secondary boot device. To replace the boot image on a QSPI device with LmP boot images, manually flash to QSPI using the pre-installed U-Boot bootloader shell. The shell is automatically booted on first boot:
> sf probe; setenv bootseq 1; mmc dev ${bootseq};
> setenv loadaddr 0x8000000;
> fatload mmc ${bootseq}:1 ${loadaddr} boot0001.bin;
> sf update ${loadaddr} 0x200000 ${filesize};
> sf update ${loadaddr} 0xF80000 ${filesize};
> fatload mmc ${bootseq}:1 ${loadaddr} u-boot0001.itb;
> sf update ${loadaddr} 0x300000 ${filesize};
> sf update ${loadaddr} 0x1080000 ${filesize};
> sf erase 0x2200000 0x20000
> sf erase 0x2220000 0x20000
> reset
After rebooting, the LmP U-Boot serial output is shown:
U-Boot SPL 2022.01+xlnx+g37fad64d18 (Apr 19 2022 - 15:29:09 +0000)
PMUFW: v1.1
Loading new PMUFW cfg obj (2200 bytes)
Silicon version: 3
EL Level: EL3
Multiboot: 1
Trying to boot from MMC2
SPL: Booting u-boot0001.itb
## Checking hash(es) for config config-1 ... OK
## Checking hash(es) for Image atf ... sha256+ OK
## Checking hash(es) for Image uboot ... sha256+ OK
## Checking hash(es) for Image ubootfdt ... sha256+ OK
## Checking hash(es) for Image optee ... sha256+ OK
## Checking hash(es) for Image fpga ... sha256+ OK
U-Boot 2022.01+xlnx+g37fad64d18 (Apr 19 2022 - 15:29:09 +0000)
Recovery
If boot images become corrupted, the Kria KV260 Vision AI Starter Kit provides an Image Recovery application. The Image Recovery is a baremetal application that uses a web-browser user interface. It can be invoked when the FW-update (FWUEN) button is pressed at power-on. This can happen automatically, when both A and B images becomes un-bootable. It can be used to directly update the A/B images, and persistent register states.
Read the Boot Firmware Image Recovery page for more details on this application.