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 的余量、以及功耗与散热预算。
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 卡 ≥16GB | Class 10 以上,用于启动镜像 |
| 硬件 | USB-UART 线、网线、电源 | 串口调试与网络连接 |
| 主机 | Ubuntu 22.04 LTS | 推荐 8 核 CPU、32GB 内存、200GB 空闲磁盘 |
| 工具 | Vivado / Vitis 2023.x | 硬件设计与加速器开发 |
| 工具 | PetaLinux 2023.x | Linux 镜像构建 |
| 工具 | 串口终端、balenaEtcher | 调试与烧录 |