1. Kria平台与嵌入式Linux工程全景

AMD Kria 是一套面向边缘智能与自适应计算的系统级模块(SOM)产品线,它把 Zynq UltraScale+ MPSoC 的 FPGA 可编程逻辑、ARM 多核处理器、DDR 内存、电源管理与启动配置集成到一张信用卡大小的核心板上。开发者不再从零设计核心电源树和 DDR 布线,而是围绕 SOM 设计或直接选用官方载板,把精力集中在接口扩展、逻辑加速与嵌入式 Linux 应用上。理解 Kria 的工程全景,需要同时看清三条线:SOM 产品线如何分层、载板如何定位、以及嵌入式 Linux 在自适应计算中扮演什么角色。

Kria SOM 产品线:K26 与 K24 的核心差异

Kria SOM 目前主流型号分为 K26 与 K24 两个系列,二者都基于 Zynq UltraScale+ MPSoC,但器件规模、可编程逻辑资源和应用定位差异明显。K26 面向视觉、机器人、边缘 AI 等对逻辑资源和算力要求更高的场景,典型器件为 XCK26,可编程逻辑约 256K 逻辑单元,配备四核 ARM Cortex-A53 应用处理器、双核 Cortex-R5F 实时处理器,以及 Mali-400 MP2 GPU。K24 则面向成本敏感、接口控制为主的场景,典型器件为 XCK24,可编程逻辑约 154K 逻辑单元,同样具备 A53 与 R5F 处理子系统,但逻辑规模、DSP 切片和高速接口数量相对收敛。

两者的差异不只是“大小”问题,而是决定了工程中可用的加速器规模、视频通路数量与实时控制余量。例如在 K26 上可以较从容地部署多路视频采集加 AI 推理流水线,而 K24 更适合单路视觉、工业通信网关或中等规模逻辑控制。选型时应先明确:需要多少路高速接口、是否需要 GPU、逻辑利用率预估是否超过 K24 的余量、以及功耗与散热预算。

Kria 平台工程全景:SOM · 载板 · 嵌入式 Linux Kria K26 SOM XCK26 · 256K LC • 4× Cortex-A53 @1.5GHz • 2× Cortex-R5F 实时核 • Mali-400 MP2 GPU • 4GB DDR4 · 视频/AI 加速 定位:视觉 · 机器人 · 边缘 AI Kria K24 SOM XCK24 · 154K LC • 4× Cortex-A53 应用核 • 2× Cortex-R5F 实时核 • 2GB DDR4 · 接口控制 定位:工业网关 · 成本敏感 官方载板 KV260:视觉 AI 入门 HDMI · MIPI · Pmod KR260:机器人控制 以太网 · CAN · 工业 IO 载板 = SOM 的接口与供电底板 嵌入式 Linux • PetaLinux / Yocto 构建 • 设备树描述硬件 • 驱动 PL 加速器 • 应用与 AI 运行时 角色:软硬件协同的粘合层 硬件抽象 课程实战目标 搭建 PetaLinux 工程 配置设备树与驱动 PL 加速器集成 部署 AI 推理应用 调试与性能验证 软硬件环境清单 • KV260 / KR260 载板 • Ubuntu 22.04 主机 • Vivado / Vitis 2023.x • PetaLinux 工具链 • microSD · USB-UART · 网线

KV260 与 KR260:载板定位决定工程起点

SOM 本身只是核心,必须插到载板上才能工作。KV260 与 KR260 是 AMD 推出的两款官方载板,分别对应不同的工程起点。KV260 面向视觉 AI 开发者,板载 HDMI 输入输出、MIPI 摄像头接口、Pmod 扩展口、千兆以太网和 USB,出厂即预装 Ubuntu 桌面镜像,适合快速跑通“摄像头采集—AI 推理—显示输出”的视觉链路。KR260 面向机器人与工业控制,提供多路以太网、CAN FD、RS-485、工业级数字 IO 和更丰富的时钟与触发接口,更适合实时控制、EtherCAT 主站、多轴运动控制等场景。

选择载板时,关键不是“哪个更强”,而是“接口是否匹配你的系统”。如果项目核心是视觉算法验证,KV260 的摄像头与显示接口能省去大量转接设计;如果项目核心是实时总线与电机控制,KR260 的工业接口和实时核配合更自然。两者都支持通过 Pmod、PMOD 或自定义 FMC 扩展,但官方载板的接口组合已经决定了大部分工程默认路径。

嵌入式 Linux 在自适应计算中的角色

在 Kria 平台上,嵌入式 Linux 不是“跑在 ARM 上的操作系统”这么简单,它是连接应用软件与可编程逻辑的粘合层。具体来说,它承担四件事:第一,通过设备树描述 PL 中的 IP 核、中断、时钟和内存映射,让内核知道硬件长什么样;第二,加载并管理 PL 比特流,使 FPGA 逻辑在启动阶段或运行时被配置;第三,为 PL 加速器提供驱动框架,例如 DMA 通道、字符设备或 UIO,让用户空间程序可以读写加速器寄存器、搬运数据;第四,承载 AI 运行时、OpenCV、ROS 2 等应用框架,把加速结果接入上层业务。

这意味着一个典型的 Kria 工程往往同时涉及三套语言:Vivado 中的硬件描述与约束、PetaLinux 中的设备树与内核配置、以及用户空间的 C/C++ 或 Python 应用。嵌入式 Linux 工程能力,本质上就是让这三层正确对齐的能力。

课程实战目标与软硬件环境清单

本课程的目标不是泛泛介绍 Kria,而是完成一条可复现的工程链路:从主机环境搭建开始,创建 PetaLinux 工程,配置设备树与内核,集成 PL 加速器,构建镜像并烧录到 microSD,启动后验证驱动与加速功能,最后部署一个可运行的边缘 AI 应用并观察性能。每一章都会围绕这条链路的一个环节展开,最终形成完整的软硬件协同工程。

建议的软硬件环境如下,供对照准备:

类别项目说明
硬件KV260 或 KR260 载板根据项目方向二选一
硬件Kria SOM(随载板配套)K26 或 K24,确认型号
硬件microSD 卡 ≥16GBClass 10 以上,用于启动镜像
硬件USB-UART 线、网线、电源串口调试与网络连接
主机Ubuntu 22.04 LTS推荐 8 核 CPU、32GB 内存、200GB 空闲磁盘
工具Vivado / Vitis 2023.x硬件设计与加速器开发
工具PetaLinux 2023.xLinux 镜像构建
工具串口终端、balenaEtcher调试与烧录
首次接触 Kria 时,建议先用官方预编译镜像启动 KV260,确认串口、网络和 HDMI 输出正常,再进入自定义 PetaLinux 工程。这样可以先排除硬件与供电问题,把问题范围缩小到软件构建环节。