2. Kria开发环境搭建与首次启动

Kria KV260/KR260 的软件开发并不是“插上电就能跑”的纯嵌入式流程,而是典型的“主机交叉开发 + 目标板运行”模式:Ubuntu 主机负责镜像准备、工具链安装、串口与网络调试;Kria 板卡负责启动 Ubuntu 系统并运行 AI 应用。本节围绕这条主线,把主机环境配置、Vitis/Vivado 工具链安装、Starter Kit 开箱与镜像烧录、串口与网络连接、首次启动与系统自检串成一个可复现的闭环。

一、Ubuntu 主机开发环境配置

AMD 官方推荐使用 Ubuntu 20.04 LTS 或 22.04 LTS 作为 Kria 开发主机。建议主机至少 8 核 CPU、16 GB 内存、200 GB 可用磁盘,因为 Vitis/Vivado 安装包解压后体积可达 60~100 GB。先更新系统并安装基础依赖:

sudo apt update
sudo apt install -y build-essential git curl wget \
  python3 python3-pip python3-venv \
  libssl-dev libncurses5-dev flex bison \
  device-tree-compiler u-boot-tools \
  minicom picocom screen \
  dfu-util gparted

# 将当前用户加入 dialout 组,避免串口权限问题
sudo usermod -aG dialout $USER
# 重新登录后生效

其中 device-tree-compiler 用于设备树编译,u-boot-tools 提供 mkimage,dfu-util 用于 USB DFU 启动模式,minicom/picocom 用于串口终端。安装完成后可用 ls /dev/ttyUSB* 确认串口设备节点是否出现。

二、Vitis/Vivado 工具链安装

Kria 的 AI 加速应用通常需要 Vitis 统一软件平台,涉及 PL 端逻辑时还需 Vivado。推荐安装 Vitis 2022.2 或 2023.2(与 Kria 官方 Ubuntu 镜像版本匹配)。安装流程如下:

  1. 从 AMD 官网下载 Xilinx_Unified_2022.2_1014_8888_Lin64.bin 安装器。
  2. 赋予执行权限并运行:chmod +x Xilinx_Unified_*.bin && ./Xilinx_Unified_*.bin。
  3. 选择 Vitis 或 Vitis Embedded Development,勾选 Kria KV260 对应的器件系列(如 Zynq UltraScale+ MPSoC ZCU104/KV260)。
  4. 安装路径建议使用默认 /tools/Xilinx,避免路径含空格或中文。
  5. 安装完成后执行 source /tools/Xilinx/Vitis/2022.2/settings64.sh,并写入 ~/.bashrc。

验证安装:vitis -version 与 vivado -version 应分别输出版本号。若只做 AI 推理部署,可仅安装 Vitis AI 与 PetaLinux 工具,但涉及自定义 PL 加速器时 Vivado 不可省略。

三、Starter Kit 开箱与 Ubuntu 镜像烧录

KV260 Starter Kit 包装内含:KV260 载板、散热片与风扇、12 V 电源适配器、microSD 卡(部分版本不含)、USB 线、以太网线。开箱后先检查载板上的启动模式拨码开关 SW1,将其设为 SD 启动模式(通常为 ON/OFF/OFF/OFF,具体以板卡丝印为准)。

镜像烧录推荐使用 AMD 官方提供的 Ubuntu 22.04 LTS for Kria 镜像(iot-limerick-kria-classic-desktop-2204-*.img.xz)。在 Ubuntu 主机上执行:

# 解压镜像
xz -d iot-limerick-kria-classic-desktop-2204-*.img.xz

# 确认 SD 卡设备节点,切勿写错盘符
lsblk
# 假设 SD 卡为 /dev/sdb

# 写入镜像
sudo dd if=iot-limerick-kria-classic-desktop-2204-*.img of=/dev/sdb bs=4M status=progress conv=fsync
sync
警告:dd 会覆盖目标磁盘全部数据,务必用 lsblk 确认 /dev/sdX 是 SD 卡而非主机硬盘。写入完成后不要格式化,直接拔出。

四、串口与网络连接

将烧录好的 SD 卡插入 KV260,连接 USB 线到主机的 USB 口,此时会出现两个串口节点:/dev/ttyUSB0(通常为系统控制台)和 /dev/ttyUSB1(可能为辅助串口)。使用 picocom 连接:

sudo picocom -b 115200 /dev/ttyUSB0
# 退出:Ctrl+A 然后 Ctrl+X

网络方面,KV260 提供千兆以太网口。首次启动前可用网线直连主机,或接入同一路由器。若直连,主机需手动配置同网段 IP,例如主机 192.168.1.10/24,板卡默认通过 DHCP 获取地址;若路由器无 DHCP,可在串口登录后手动配置:

sudo ip addr add 192.168.1.20/24 dev eth0
sudo ip link set eth0 up

随后在主机上 ping 192.168.1.20 验证连通性,并用 ssh ubuntu@192.168.1.20 登录(默认用户名 ubuntu,初始密码 ubuntu,首次登录会强制修改)。

五、首次启动与系统自检

上电后串口会输出 U-Boot 与内核启动日志。首次启动约需 1~2 分钟,成功进入登录提示符即表示系统启动完成。登录后按以下顺序自检:

  • uname -a:确认内核版本与架构(aarch64)。
  • cat /etc/os-release:确认 Ubuntu 版本为 22.04。
  • ls /dev/mmcblk*:确认 SD 卡与 eMMC 设备节点。
  • ip addr:确认 eth0 已获取 IP。
  • xmutil listapps:列出可用的 Kria 加速应用(如 kria-dashboard、smartcam)。
  • sudo xmutil loadapp kria-dashboard:加载示例应用,验证 PL 端配置是否正常。

若 xmutil 报错,通常说明固件包未安装或 PL 比特流未加载,可通过 sudo apt install xmutil 与 sudo xmutil bootfw_update 修复。自检通过后,Kria 即具备运行 AI 推理应用的基础条件。

Kria 开发环境搭建与首次启动链路 Ubuntu 主机(开发侧) 基础依赖 build-essential / dtc 串口工具 picocom / minicom 镜像烧录 dd / xz / lsblk 网络调试 ip / ping / ssh 用户加入 dialout 组 → 串口免 sudo Vitis / Vivado 工具链 Vitis 2022.2 AI 推理 / 交叉编译 Vivado 2022.2 PL 逻辑 / 比特流 Kria KV260 目标板(运行侧) SD 卡启动 SW1 拨码设置 Ubuntu 22.04 aarch64 镜像 串口控制台 ttyUSB0 115200 以太网 eth0 / DHCP 系统自检 uname / ip addr / xmutil listapps 加载加速应用 xmutil loadapp kria-dashboard 自检通过 → 可运行 AI 推理应用 镜像写入 SD 比特流 / 应用 串口 / 网络 首次启动关键判断点 串口有 U-Boot 日志 → 启动介质正确 登录提示符出现 → 系统启动完成 eth0 获取 IP → 网络连通 xmutil 可加载应用 → PL 配置正常 自检 通过
建议把 source /tools/Xilinx/Vitis/2022.2/settings64.sh 写入 ~/.bashrc,并在首次启动后立即执行 sudo apt update && sudo apt upgrade,确保 Kria 固件与 xmutil 为最新版本,避免加载加速应用时出现版本不匹配。