只读分享解决方案文档原理方案设计📅 2026-10-14🔖 Rev 4.19⏳ 还有3日到期
🔧解决方案&应用市场分析 -> 原理方案设计 -> 主芯片方案调试开发 -> 瑞芯微Rockchip_开发指南

瑞芯微Rockchip_开发指南

同系列 · 原理方案设计
扫码打开本页
微信扫码

瑞芯微 Rockchip 开发指南

编制日期 2026-10-14

从 MaskROM 抓 logs 到 SDK 构建、启动链、存储分区与量产烧录 —— 面向嵌入式工程师的 Cortex-A Linux 路线手册

5 条产品线
旗舰 / 主流 / 入门语音 / 视觉 AI / 经典存量
RK3588 到 RV1103 全覆盖
20 章
+ 附录 A~E
21 张内联架构图
1500000
调试串口默认波特率(ttyFIQ0)
买错串口线就一片乱码
4.19 / 5.10
SDK 主力内核版本,新平台已上 6.1
选 SDK 分支前先确认内核
BROM→SPL
→ATF→U-Boot→Kernel 五段启动链
idbloader / trust / uboot / boot
eMMC · SD
SPI NOR · SPI NAND · raw NAND
第 7 章:存储与分区设计

这份文档面向已经在做 MCU(STM32 / ESP32 / GD32)开发的工程师:你熟悉 main()、寄存器和外设初始化,但瑞芯微 RK 系列跑的是 完整 Linux + ARM TrustZone + 多级 Bootloader —— 点不亮不再是「程序没烧进去」,而要先分清它停在了 BootROM、DDR 初始化、Trust 还是内核。本文所有型号、分区、命令均核对自 Rockchip 开源 Wiki、厂商 Wiki 与公开 TRM / Datasheet,并把存储支持矩阵、parameter.txt、MaskROM 烧录、GPIO 编号这些最容易踩坑的地方逐个拆开讲。核对不到的数值一律标注「以官方 Wiki / 手册为准」,不做臆测。

阅读路径

路径 A · 第一次摸 RK 板
先让它吐出日志
第 4 章搭环境 → 第 8 章烧第一版固件 → 第 12 章接串口 → 第 18 章排障。
预计半天出成果
路径 B · 做硬件,接外设
把器件挂上去
第 9 章设备树 → 第 10 章 GPIO/I2C/SPI → 第 16 章硬件设计 → 附录 D。
重点:IO 电压域与复用
路径 C · 做产品,要量产
存储与烧录定生死
第 7 章分区与介质 → 第 17 章产线 → 第 13 章 OTA → 第 14 章安全启动。
重点:一致性、寿命、供货
路径 D · 选存储器件
XTX 视角的落位
第 3 章存储控制器 → 第 7 章介质选型与落位 → 第 19 章速查 → 附录 A。
eMMC / SD NAND / SPI NOR / SPI NAND

1 · 文档导读与阅读路径

瑞芯微不是「一块跑 Linux 的 MCU」。它是 Cortex-A 应用处理器 + TrustZone 安全世界 + 五段式启动链 + 完整发行版根文件系统 的组合。这句话决定了本文所有章节的编排方式。

报告总结

本文解决的是「拿到一块 RK 板子 / 一颗 RK 芯片之后,怎么把它从点不亮带到能出货」这条链路上的具体问题:挑型号、搭 SDK、读懂启动链、设计分区、打包烧录、改设备树、接外设、调 NPU 与多媒体、做 OTA、做安全启动、做低功耗与热设计、画硬件、上产线,最后落到与 XTX 存储芯片协同的器件选型。

读者路径

  • 硬件工程师:第 2 章选型 → 第 7 章存储 → 第 16 章硬件设计 → 附录 A。
  • 驱动 / BSP 工程师:第 5 章 SDK → 第 6 章启动链 → 第 9 章设备树 → 第 10 章外设。
  • 系统 / 量产工程师:第 8 章烧录 → 第 13 章 OTA → 第 14 章安全 → 第 17 章产线。
  • 器件 / 选型工程师:第 3 章控制器 → 第 7 章介质矩阵 → 第 19 章速查。

1.1 不覆盖什么

RK 生态很大,本文明确不写:Android Framework 与应用开发、Python / Shell 语法教学、通用 Linux 服务器运维、RK 之外的竞品对比评测、以及第三方发行版(Armbian、OpenWrt、Ubuntu Core)的专属配置流程。这些内容要么与 RK 无关,要么官方文档已经写得足够好。

1.2 事实来源与版本标注约定

瑞芯微的 SDK 以 repo manifest 为单位发布,不同板卡厂商、不同分支之间的内核版本、分区表、工具链都可能不同。本文以 opensource.rock-chips.com Wiki、公开 TRM / Datasheet、以及主流板卡厂商公开 Wiki(Firefly、Radxa、Khadas、Luckfox、Neardi 等)为准。三点提醒:

约定含义
以官方手册为准涉及工艺节点、DDR 最高速率、UFS 支持、封装尺寸这类逐型号差异极大的参数,文中不做统一断言,请以对应型号的 TRM / Datasheet 与官方选型手册为准。
SDK 版本相关目录结构、build.sh 子命令、分区名在不同 SDK 大版本间会变。文中给出的是通用 Linux SDK(含 Buildroot / Debian / Yocto 三路线)的主流形态。
原文保留的命令文中所有 ./build.sh、rkdeveloptool、upgrade_tool 等命令按官方/厂商文档原样给出,不做本地化改写,避免版本漂移。

1.3 命令与代码的书写约定

  • 命令行输入一律以 $ 开头表示普通用户,sudo 显式标注提权;# 开头是一行注释说明,不是 root 提示符。
  • 路径统一使用 Linux 正斜杠。<sdk>、<dev> 这类尖括号是占位符,替换时不保留尖括号。
  • 设备树片段为了可读性做了缩进整理,实际文件里的缩进请以 SDK 源码为准。

1.4 MCU 工程师转 Rockchip 最容易卡住的四件事

① 「点不亮」有五个可能的位置

BootROM(没找到合法 ID BLOCK)、DDR 初始化(TPL / ddr bin 失败)、Trust(ATF/OP-TEE)、U-Boot、内核。先接串口看它停在哪一句,再决定查什么 —— 这是和 MCU「烧进去就跑」最大的区别。

② 「Flash」不是一个东西

eMMC、SD 卡、SPI NOR、SPI NAND 分别走不同控制器(SDMMC / SDHCI / FSPI),在设备树里是不同的节点,在烧录工具里是不同的地址。换介质意味着改分区表、改 defconfig、改打包脚本,不是换个芯片那么简单。

③ 「改了不生效」多半是没重新打包

设备树改完要 ./build.sh kernel,还要 ./build.sh firmware 把镜像收集到 rockdev/,最后 ./build.sh updateimg 才是能烧的整包。只编译不打包,是新手最常见的「我明明改了啊」。

④ 「实时性」仍要指望外挂 MCU

RK 内部虽然有三颗 Cortex-M0,但主要服务于电源管理与 NPU 协处理;需要硬实时 IO 的场合,仍是 RK(A 核跑 Linux)+ 一颗外挂 MCU 的经典组合,两者通过 UART / SPI / I2C 通信。

2 · RK 家族全景与选型

瑞芯微的产品编号看起来杂乱(RK / RV / PX 混在一起),实际上分界线非常清晰:RK3xxx / RK35xx 是通用应用处理器,RV11xx 是视觉与 IPC,RK33xx 偏语音与入门,RK18xx / RK3399Pro 是带 NPU 的老一代 AI 芯片。第一步选错档位,后面怎么做都是徒劳。

2.1 五条产品线怎么分

官方把产品划分为若干条线,分界线不是主频,而是目标应用与配套软件栈:旗舰档跑 8K 多屏与边缘大模型;主流档做工业网关、HMI、NVR;入门与语音档做智能音箱与低成本终端;视觉档自带 AI-ISP 服务 IPC 与电池摄像头;经典存量档则是仍在大量出货、但新设计一般不再首选的老型号。

瑞芯微产品矩阵:五条产品线与代表型号旗舰应用处理器8K 多屏 · 6 TOPSRK3588RK3588SRK3588J / MRK3576RK3576J / M主流 AIoT网关 · HMI · NVRRK3568RK3566RK3562RK3568JRK3572入门与语音音箱 · 低成本终端RK3308RK3308H1RK3326RK3328RK3506视觉与边缘 AIIPC · 电池摄像头RV1126RV1106RV1103RK1808RV1126B经典存量老项目维护为主RK3399RK3399ProRK3288PX30RV1108选型的第一个分水岭:要不要 NPU,要多少 TOPS不需要 NPU:RK3562 / RK3328 / RK3308 这一类成本更优,不必为用不到的算力付钱。轻量(语音唤醒、简单分类):RK3566 / RK3568 的 1 TOPS 通常够用;重量级多模型并发才上 RK3588 / RK3576。
图 1 · 瑞芯微 RK 家族五条产品线与代表型号

来源:Rockchip 公开产品资料 / 厂商平台矩阵整理

2.2 旗舰档:RK3588 系列

RK3588 是当前瑞芯微的旗舰:四核 Cortex-A76 + 四核 Cortex-A55 的 big.LITTLE 组合,六核(三核架构)NPU 最高 6 TOPS,8K 视频编解码,四通道 LPDDR4/4X/5。它有三个主要衍生型号,区分点是封装、接口数量与温度范围,而不是算力。

型号CPUGPUNPU关键差异温度范围
RK3588四核 A76 + 四核 A55Mali-G610 MP46 TOPS最全接口:PCIe 2.1×3 + PCIe 3.0×2、SATA 3.0×2、双千兆 MAC、HDMI 2.1 TX + HDMI 2.0 RX、双 ISP0~80 ℃
RK3588S同上(A76 最高 2.4 GHz)Mali-G610 MP46 TOPS精简封装:1×HDMI TX、单千兆 MAC、PCIe 2.1×2、MIPI-CSI 数量减少,适合小尺寸 PCB0~80 ℃
RK3588JA76 最高 2.0 GHzMali-G610 MP46 TOPS工业级版本,接口与 RK3588 基本一致-40~85 ℃
RK3588MA76 最高 2.0 GHzMali-G610 MP46 TOPS车规版本,面向智能座舱与车载视觉-40~85 ℃
S / J / M 不是「降频版」那么简单

RK3588S 砍掉的不只是主频,更是接口数量(HDMI 输出、GMAC、PCIe lane、MIPI-CSI)。选型时对着原理图的接口清单核对,比对着主频表核对更有意义。J / M 则是温度等级与可靠性要求的差异,供货与认证流程也不同。

2.3 承上启下:RK3576

RK3576 定位在 RK3568 与 RK3588 之间:CPU 换成四核 Cortex-A72 + 四核 Cortex-A53(最高 2.2 GHz),NPU 直接给到 6 TOPS 并支持 Transformer 类算子,视频能力为 4K@120 解码 / 4K@60 编码。对多数「要 AI 但不需要 8K」的项目,它是性价比更高的一档。

项目RK3576对比 RK3568
CPU四核 Cortex-A72 @ 最高 2.2 GHz + 四核 Cortex-A53 @ 1.8 GHz四核 Cortex-A55 @ 最高 2.0 GHz
GPUMali-G52 MC3Mali-G52 2EE
NPU6 TOPS,支持 Transformer 类算子1 TOPS
视频4K@120 解码 / 4K@60 编码4K@60 解码 / 1080p 编码
内存LPDDR4 / 4X / 5(部分资料标称上限 32 GB,以官方手册为准)LPDDR4 / 4X
典型应用NVR、AI 盒子、工业 HMI、AI POS、轻量机器人工业网关、HMI、商用显示、自助终端

2.4 主流档:RK3568 / RK3566 / RK3562

这一档是出货量最大、生态最成熟的一档,也是新项目最常落入的区间。三者是同一代架构的成本梯度:RK3568 接口最全,RK3566 精简掉 SATA / PCIe 与部分高速口,RK3562 进一步降到四核 A53 与 0.8 TOPS。

型号CPUNPU视频关键接口差异典型应用
RK3568四核 Cortex-A55 @ 2.0 GHz1 TOPS4K@60 解码 / 1080p 编码USB 3.0、PCIe、SATA 3.0、双千兆网、多路 CAN工业网关、HMI、NVR、商用显示、自助终端
RK3566四核 Cortex-A55 @ 1.8 GHz1 TOPS4K@60 解码以 USB 2.0 / MIPI / GMAC 为主,高速口较 RK3568 少平板、电子书、智能面板、轻量终端
RK3562四核 Cortex-A530.8 TOPS1080p精简通用接口成本敏感型入门 AIoT
RK3568J同 RK35681 TOPS同 RK3568工业温度版本-40~85 ℃ 工业现场
同样是 RK3568,不同板卡的接口可以差很多

SoC 支持 PCIe / SATA 不代表你手上那块核心板一定引出来了。选型时必须拿板卡厂商的原理图与接口清单对一遍,而不是只看芯片 datasheet。这一点在 RK3566 上尤其明显。

2.5 入门与语音档:RK3308 / RK3326 / RK3328

这一档的共同点是:CPU 用 Cortex-A35 或 A53,主频与带宽有限,但接口刚好够用、功耗与 BOM 都很低。RK3308 更是把音频做到了极致 —— 多路 I2S/TDM、PDM、SPDIF、HDMI ARC,外加硬件 VAD(语音激活检测),是智能音箱的经典选择。

型号CPU存储支持特色典型应用
RK3308四核 Cortex-A35SLC NAND、eMMC 4.51、Serial NOR FLASH多通道 I2S/TDM + 8ch PDM + SPDIF + HDMI ARC,内置硬件 VAD智能音箱、语音模组、离线唤醒
RK3308H1四核 Cortex-A35同 RK3308(SiP 内嵌 128 MB DDR3L)芯片内封装 DDR,无需外挂内存,PCB 极简超低成本语音终端
RK3326四核 Cortex-A35 @ 1.5 GHzMLC NAND、eMMC 4.51、Serial NOR FLASHMali-G31 MP2,内置 8M ISP,1080p 解码智能音箱、复古掌机、工控终端、门禁
RK3328四核 Cortex-A53eMMC、SD、Serial NOR FLASH4K 解码,成本极低入门 TV Box、轻量 NAS
RK3506三核 Cortex-A7 + 单核 Cortex-M0以官方手册为准双百兆以太网、2 路 CAN FD、6 路 UART、12 路 PWM、2D 硬件引擎工业现场小控制器

2.6 视觉与边缘 AI 档:RV11xx / RK1808

RV 前缀是瑞芯微的视觉产品线:自带 AI-ISP、MIPI-CSI、H.264/H.265 硬编解码,面向 IPC、电池摄像头、门铃与车载视觉。RK1808 则是瑞芯微第一代带独立 NPU(3.0 TOPS)的芯片,现在多见于存量项目与协处理器方案。

型号CPUNPUISP / 编码定位
RV1126Cortex-A7 多核(核数以官方手册为准)约 2 TOPS4K ISP,H.264 / H.2654K NVR、AI 相机
RV1126B四核 Cortex-A533 TOPS4K@30 解码 / 4K@45 编码,12M AI-ISP工业 IPC、车载视觉
RV1106Cortex-A7 + RISC-V MCU1 TOPS(部分资料标 0.5 TOPS,以手册为准)5MP ISP,H.264 / H.265主流 IPC、电池摄像头
RV1103RISC-V0.5 TOPS1080p H.264入门门铃 / IPC
RK1808双核 Cortex-A353.0 TOPS(INT8 / INT16 / FP16 混合)1080p 编解码,内置 2 MB SRAM第一代 NPU 芯片、AI 协处理

2.7 经典存量档:RK3399 / RK3288 / PX30

型号CPUGPU存储支持现状
RK3399双核 Cortex-A72 + 四核 Cortex-A53Mali-T860 MP4eMMC 5.1、SD、SPI NOR生态极好、资料极多,新设计一般不再首选,存量维护量大
RK3399Pro同 RK3399Mali-T860 MP4同 RK3399内置独立 NPU(约 3 TOPS),老一代 AI 平台
RK3288四核 Cortex-A17Mali-T764eMMC、SD、NAND2014 年一代,仍有大量老设备在跑
PX30四核 Cortex-A35Mali-G31MLC NAND、eMMC 4.5、NOR FLASH入门工控与商显

2.8 选型决策树

  • 要 8K 多屏、边缘大模型、多路 4K NVR、机器人主控 → RK3588(或按封装/温度选 S / J / M)。
  • 要 AI 但预算敏感,4K 就够 → RK3576。
  • 工业网关、HMI、商用显示、自助终端 → RK3568;纯显示与轻终端 → RK3566。
  • 智能音箱、语音模组、离线唤醒 → RK3308 / RK3308H1。
  • 电池摄像头、门铃、IPC → RV1106 / RV1103 / RV1126B。
  • 低成本掌机 / 小屏终端 / 老项目维护 → RK3326 / RK3328 / RK3399。

2.9 和 STM32 / ESP32 / 树莓派怎么选

维度STM32ESP32RK 应用处理器树莓派 SBC
软件形态裸机 / RTOSFreeRTOS / IDF完整 Linux(Buildroot / Debian / Yocto)完整 Linux(Raspberry Pi OS)
实时性硬实时(中断 µs 级)软实时 + Wi-Fi 抖动软实时,GPIO 翻转毫秒级软实时,毫秒级
启动时间毫秒级百毫秒级通常数秒到十几秒(含 U-Boot + 内核)20~40 秒
典型内存几十 KB ~ 数 MB SRAM几百 KB SRAM + PSRAM512 MB ~ 32 GB LPDDR1 ~ 16 GB LPDDR4X
存储片内 Flash + 外挂 NOR外挂 SPI NOR FlasheMMC / SD / SPI NOR / SPI NAND / raw NANDmicroSD / eMMC / NVMe
启动链复杂度一段(BootROM 直跳)两段(ROM + 二级 bootloader)五段:BROM→SPL/DDR→ATF→U-Boot→KernelGPU 固件主导的多段
适合做什么超低功耗、精密控制、汽车Wi-Fi 物联网节点网关、视觉、边缘 AI、工业 HMI、NVR教育、原型、桌面、创客
一句话边界

要硬实时与超低功耗用 MCU;要Wi-Fi 物联网节点用 ESP32;要跑完整 Linux、做视觉 / AI / 多屏 / 工业协议栈,并且要自己做板子、自己管量产,用瑞芯微;只是快速验证想法、不需要自己画板,用树莓派更省事。

3 · 内核与架构:Cortex-A + NPU + 多媒体

理解 RK 的第一件事,是看清一颗 RK SoC 内部到底塞了多少东西。CPU 只是其中一个子系统,旁边并排着 NPU、GPU、VPU、ISP、显示控制器、存储控制器,以及三颗不跑 Linux 的 Cortex-M0。

3.1 一个 RK SoC 内部有什么

以 RK3588 为例,官方 Datasheet 把它拆成:微处理器子系统(4×A76 + 4×A55 + DSU + 3 MB 共享 L3)、内部存储(BootROM、PMU SRAM、Share Memory)、外部存储接口(LPDDR、eMMC、SD/MMC、FSPI)、系统组件(MCU、GIC、CRU、PMU、Timer、PWM、Watchdog、DMAC、安全系统、Mailbox、解压引擎)、视频编解码、显示、图像信号处理,以及一整套高速外设。

RK3588 系统架构:SoC 内部子系统与对外接口RK3588 SoC · 内部子系统CPU 集群4×A76 + 4×A55共享 3 MB L3 · DSUNPU三核架构 6 TOPSINT4/8/16/FP16GPU / VPUMali-G610 MP48K60 解码 / 8K30 编码ISP / 显示48MP 双 ISP多屏异显 · HDMI 2.1存储控制器eMMC 5.1 / SD 3.0FSPI 1/2/4 bit高速接口PCIe 3.0 / SATA 3.0USB 3.1 / Type-C网络与音频双千兆 MACI2S / PDM / SPDIF安全与协处理3×Cortex-M0Crypto / OTP / TrustZoneLPDDR4 / 4X / 5四通道 · 最高 32 GBeMMC 5.1 / SD 3.0启动介质主力FSPI:SPI NOR / NAND小容量启动与参数区PCIe NVMe / SATA扩展高速存储HDMI 2.1 / eDP / DSI多屏异显输出MIPI-CSI ×2 + DVP48MP 双 ISP 输入双千兆 MACRGMII / SGMIIUSB 3.1 / Type-COTG 与 HOST读架构图时最该关注的两件事① 存储控制器有三个独立通道(eMMC / SDMMC / FSPI),换启动介质 = 换控制器 + 换设备树节点 + 换打包配置。② NPU / VPU / RGA 是独立硬件单元,不走 CPU;跑不动时先确认用的是不是硬件加速通路,而不是在 CPU 上软解。
图 2 · RK3588 SoC 内部子系统与对外接口

来源:Rockchip RK3588 Datasheet / 公开资料整理

3.2 CPU 子系统:big.LITTLE 与 DSU

芯片CPU 组合Cache 结构说明
RK3588四核 Cortex-A76 + 四核 Cortex-A55A76:64 KB I + 64 KB D,512 KB L2/核;A55:32 KB I + 32 KB D,128 KB L2/核;共享 3 MB L3big.LITTLE + DSU,八个核各有独立电源域
RK3576四核 Cortex-A72 + 四核 Cortex-A53以官方手册为准最高 2.2 GHz,性能与功耗折中
RK3568 / RK3566四核 Cortex-A55以官方手册为准同构四核,调度简单,功耗可控
RK3399双核 Cortex-A72 + 四核 Cortex-A53以官方手册为准老一代 big.LITTLE,生态成熟
RK3308 / RK3326四核 Cortex-A35以官方手册为准A35 是 A53 的低成本裁剪版
核数与「几个核在用」是两回事

Linux 会按负载在 big 核与 LITTLE 核之间迁移任务。做性能测试前先 cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_cur_freq 看各核频率,再决定是算力不够还是调度/温控把频率压下去了。

3.3 NPU:RK 最有辨识度的一块

瑞芯微从 RK1808 开始内置自研 NPU,到 RK3588 / RK3576 已经做到 6 TOPS。它支持 INT4 / INT8 / INT16 / FP16(部分型号标称还支持 BF16 / TF32)混合运算,兼容 TensorFlow、PyTorch、Caffe、MXNet 等框架导出的模型。

芯片NPU 算力支持的精度备注
RK3588 / RK3588S/J/M6 TOPS(三核架构)INT4 / INT8 / INT16 / FP16新设计的主力 AI 平台
RK35766 TOPSINT4 / INT8 / INT16 / FP16,支持 Transformer 类算子4K 场景性价比档
RK3568 / RK35661 TOPSINT8 / INT16 / FP16轻量分类与检测
RK35620.8 TOPS以官方手册为准语音唤醒级
RV1126 / RV1126B约 2 / 3 TOPS以官方手册为准视觉产品线
RV1106 / RV11031 / 0.5 TOPS以官方手册为准IPC 与电池摄像头
RK18083.0 TOPSINT8 / INT16 / FP16第一代 NPU,22 nm FD-SOI

3.4 多媒体引擎:VPU / RGA / ISP

单元全称干什么不用它的代价
VPUVideo Processing UnitH.264 / H.265 / VP9 / AV1 等格式的硬件编解码软解 4K 会吃掉大量 CPU,风扇狂转、帧率掉到底
RGARaster Graphic Acceleration2D 加速:缩放、旋转、裁剪、色彩空间转换、合成用 CPU 做 YUV→RGB 与缩放,开销非常高
ISPImage Signal Processor摄像头原始数据的去噪、HDR、3A、畸变校正图像质量明显下降,且 CPU 负载陡增
GPUMali 系列3D 渲染与通用计算(OpenGL ES / OpenCL / Vulkan)UI 卡顿,无法跑 3D 界面
RK3588 之外的型号要多留个心眼

8K 编解码是 RK3588 独有能力,RK3576 是 4K@120 解码 / 4K@60 编码,RK3568 只有 4K@60 解码 + 1080p 编码。把 RK3588 的 demo 直接搬到 RK3568 上跑 4K 编码,一定跑不动。选型阶段就把编解码规格写进需求表。

3.5 存储控制器一览

这是本文作者最关心的一节 —— 存储控制器的数量和类型,直接决定了器件能落在哪里。

控制器接口典型挂载器件说明
SDHCI / SDMMCeMMC 5.1(8 bit,HS400 / HS200 / DDR50)eMMC、SD NAND量产方案的主启动介质,焊死在板上,抗震一致性好
SDMMCSD 3.0 / MMC 4.51(4 bit)microSD 卡、SD NAND原型开发与可更换场景;SD NAND 可直接替掉卡座
FSPIFlexible Serial Flash Interface,1 / 2 / 4 bit,2 片选SPI NOR、SPI NANDRK356x 起可从此通道启动;也是放参数区 / 校准数据的首选
NANDC异步并行 NAND,8 bitraw NAND(SLC / MLC)老平台与低成本方案使用,需要坏块管理与 ECC
PCIe / SATAPCIe 3.0 / 2.1、SATA 3.0NVMe SSD、SATA SSD扩展容量用,一般不做启动介质(部分板卡支持,以手册为准)
FSPI 不是「普通 SPI0」

用于启动的 SPI Flash 挂在 FSPI(Flash SPI)通道 上,它是 SoC 专门留给启动 Flash 的控制器,与通用 SPI0 / SPI1 / SPI2 不是同一组引脚、也不是同一个设备树节点。画原理图时接错通道,BootROM 就探测不到 ID BLOCK,板子会直接落到 USB 下载模式。

3.6 三个 Cortex-M0 与电源域

RK3588 内部集成三颗 Cortex-M0:一颗在 VD_PMU 电源域(16 KB Cache + 16 KB TCM),一颗在 VD_NPU(16 KB Cache + 64 KB TCM),一颗在 PD_CENTER(32 KB TCM)。它们服务于电源管理、NPU 协处理与系统控制,不是给应用开发者写硬实时逻辑用的。

  • 45 个独立电源域(RK3588):可以按场景关掉不用的模块,这是低功耗设计的基础。
  • 18 个 PLL:时钟树非常灵活,也意味着设备树里的时钟配置出错概率更高。
  • Crypto 引擎:支持 SHA-1/256/512、MD5、SM3、HMAC、AES、DES/TDES、SM2/SM4 与 PKA(RSA/ECC 最高 4096 bit),是安全启动的硬件基础。

4 · 开发环境与 SDK 获取

瑞芯微 Linux SDK 只支持在 Linux 主机上编译,且由几十个 git 仓库组成,用 repo 统一管理。这一章解决「代码从哪来、在哪编、编之前要装什么」。

4.1 三种拿到 SDK 的方式

方式怎么做优点注意点
向瑞芯微申请向技术窗口申请 SDK 权限,提供 SSH 公钥(邮件至官方 FAE 渠道)后同步代码拿得到完整 SDK 与官方文档,含 rkbin 闭源二进制有流程与授权周期,适合正式项目
板卡厂商 SDK从 Firefly / Radxa / Khadas / FriendlyELEC / Luckfox 等厂商获取其维护的 SDK开箱即用,板级配置齐全,社区资料多与厂商硬件绑定,换板要重新适配
社区主线直接用主线 U-Boot / Linux kernel + 自行补齐闭源固件内核新、可维护性好rkbin 里的 DDR / BL31 二进制仍需单独获取,工作量最大

4.2 编译主机:只支持 Linux

三个硬性限制

① SDK 使用交叉编译,必须下载到 x86_64 PC 上,不要下载到 ARM64 开发板上编;② 官方推荐 Ubuntu(不同 SDK 版本要求 18.04 / 20.04 / 22.04,以 SDK 文档为准);③ 不要把 SDK 放在虚拟机共享目录或含非英文字符的路径下,这两点都会导致编译失败。

角色系统承担什么
编译服务器Ubuntu x86_64(版本按 SDK 要求)交叉工具链、全量编译、打包 update.img
开发 PCWindows / Linux / macOS 均可装烧录工具(RKDevTool)、串口终端、SSH 登录服务器
目标板RK 板卡串口输出日志,USB OTG 口进 MaskROM / Loader 模式
开发环境拓扑:编译服务器 → 开发 PC → 目标板① Linux 编译服务器· Ubuntu x86_64(按 SDK 要求)· repo + 全量 SDK 源码· prebuilts 交叉工具链· ./build.sh 编译与打包· 产出 rockdev / update.img② 开发 PC· RKDevTool(Windows 烧录)· 串口终端(1500000 8N1)· SSH / VS Code Remote· ADB / scp / rsync· DriverAssitant 装驱动③ RK 目标板· 串口 UART2 输出日志· USB OTG 进 MaskROM· RECOVERY 键进 Loader· eMMC / SD / SPI NOR· 网口跑 ADB / NFSSSHUSB / 串口编译产物:update.img / 分区镜像 / SD 卡镜像三条最容易踩的环境坑① SDK 放到了虚拟机共享目录或中文路径 —— 编译脚本大量使用相对路径与符号链接,必挂。② 用 root 用户编译 —— 官方明确要求以普通用户编译,root 只用于 apt 装包。③ Windows 下没装 DriverAssitant —— RKDevTool 会一直显示「没有发现设备」,先装驱动再谈烧录。
图 3 · Rockchip 开发环境与编译拓扑

来源:Rockchip Linux SDK 开发指南 / 厂商 Wiki 整理

4.3 依赖包与工具链

官方给出的一揽子依赖(不同 SDK 版本略有差异,这里按主流 Linux SDK 给出):

$ sudo apt-get update
$ sudo apt-get install git ssh make gcc libssl-dev liblz4-tool expect \
    expect-dev g++ patchelf chrpath gawk texinfo diffstat binfmt-support \
    qemu-user-static live-build bison flex fakeroot cmake \
    gcc-multilib g++-multilib unzip device-tree-compiler \
    ncurses-dev libgucharmap-2-90-dev bzip2 expat gpgv2 \
    cpp-aarch64-linux-gnu libgmp-dev libmpc-dev bc python-is-python3 \
    libstdc++-12-dev repo

交叉工具链放在 SDK 的 prebuilts/ 下,u-boot 与 kernel 用它;rootfs 侧则由 Buildroot / Debian / Yocto 各自的工具链负责,不需要手动指定。

4.4 repo 与多仓库管理

一个完整的 Linux SDK 由几十个 git 仓库组成(kernel、u-boot、rkbin、buildroot、debian、yocto、device、external、app、docs、tools…),用 repo 按 manifest 统一拉取与切换分支。

# 初始化(以厂商提供的 manifest 为准)
$ repo init --no-clone-bundle -u <manifest 仓库地址> -b <分支> -m <manifest.xml>

# 同步代码
$ .repo/repo/repo sync -c --no-tags
$ .repo/repo/repo start <分支名> --all

# 后续更新
$ .repo/repo/repo sync -c --no-tags
确认自己拿到的是哪个版本

SDK 的版本写在 manifest 文件名里,排查问题前先记下来:

$ readlink -f .repo/manifest.xml
/home/<user>/proj/.repo/manifests/rk3588/rk3588_linux_release_20230301_v1.0.6e.xml

贴到 issue 或问厂商 FAE 时,这一行比「我用的是最新 SDK」有用一百倍。

4.5 目标板侧的准备

  • 一根能跑 1500000 波特率 的 USB 串口线(CP2104 / FT232 等,CH340 在部分高波特率下不稳)
  • 一根数据线(不是充电线)用于 USB OTG 烧录与 ADB
  • 确认板载存储介质:eMMC / SD 卡槽 / SPI NOR 焊位,以及对应的 boot 按键位置
  • 确认 RECOVERY(或 MASKROM)按键与短接点,这是进烧录模式的物理入口
  • Windows 上先装 DriverAssitant(Rockchip USB 驱动),再打开 RKDevTool
  • Linux 上配好 udev 规则,否则每次烧录都要 sudo
# /etc/udev/rules.d/99-rk-rockusb.rules
SUBSYSTEM=="usb", ATTR{idVendor}=="2207", MODE="0666", GROUP="users"
# 生效
$ sudo udevadm control --reload-rules && sudo udevadm trigger
相关报告 · 交叉引用 5 器件全部展开收起 ▾
点开类目即可展开:具体文档 / 章节(点章直接跳转到该章)
eMMC
电路设计指南
软件设计规范
Linux 驱动开发
样机问题排查
量产问题排查
SPI NOR
电路设计指南
软件设计规范
Linux 驱动开发
样机问题排查
量产问题排查2
系统设计指南
DDR/LPDDR(DRAM)
电路设计指南4
软件设计规范4
DDR2
章节(点章跳转,共 16 章)
DDR3
章节(点章跳转,共 16 章)
DDR4
章节(点章跳转,共 17 章)
DDR5
章节(点章跳转,共 17 章)
SPI NAND
电路设计指南
软件设计规范
Linux 驱动开发
样机问题排查
量产问题排查4
全志平台 SPI NAND NOR
章节(点章跳转,共 11 章)
海思平台 SPI NAND 量产常见失败
章节(点章跳转,共 11 章)
烧录成功但不开机 SPI NAND
章节(点章跳转,共 12 章)
瑞芯微平台 SPI NAND eMMC
章节(点章跳转,共 11 章)
系统设计指南3
SD NAND
电路设计指南
软件设计规范
Linux 驱动开发
量产问题排查
其他提及器件(共 2)