首页
/
行业洞察
/
正文
INDUSTRY INSIGHT · 深度
RK3588开发板镜像烧写实战:从SD卡到eMMC,为YOLOv5s NPU部署铺路
📅 2026/9/28 1:09:28
✍️ 爱科研究院
👁 阅读 3,247
刚拿到香橙派Orange Pi 5/RK3588的第一件事绝大多数人都会卡在同一个地方怎么把系统镜像烧进去。网上教程很多但能一条龙跑通、不踩坑的太少。这个系列就是从头到脚手把手带你走完整个流程最终目标是让 yolov5s 模型在 RK3588 的 NPU 上顺利跑起来。第一篇先解决基础中的基础——镜像烧写。这部分做不好后面所有模型部署都是空谈。我会把这次实际烧写过程中踩过的坑、验证过的步骤、还有那些文档里从来不会写清楚的细节全部摊开讲保证你看完就能照着操作不用再来回折腾。1. 动手之前先把“为什么”搞清楚很多人拿到板子就急着烧镜像结果烧完启动不了或者烧进去的系统跟后续教程完全对不上又要重来一遍。所以我建议你花五分钟看完这一节把几个基本概念理顺后面能省很多事。1.1 RK3588这颗芯片到底什么水平RK3588 是瑞芯微目前出货量最大的一颗旗舰级 SoC8 核架构4 个 A76 大核 4 个 A55 小核GPU 是 Mali-G610最关键的是内置了一颗算力约 6 TOPS 的 NPUINT8 精度下。这颗 NPU 就是后面跑 YOLOv5s 的核心硬件。香橙派 5 用的是 RK3588S属于 RK3588 的精简版主要是砍掉了一些用不到的接口比如双路 HDMI RX、PCIe 通道数等但 NPU、CPU、GPU 核心部分完全一样。香橙派 5 Plus、5 Pro 则用的完整版 RK3588。对跑 AI 模型来说这几个型号在算力上没有本质差别教程完全通用。6 TOPS 是什么概念拿它跑 YOLOv5s输入 640×640 分辨率在 NPU 上做完 INT8 量化后实测单帧推理速度基本都能做到 30ms 以内也就是实时性完全没问题。这也是现在大量边缘计算盒子、智能摄像头选择 RK3588 的原因——性能足够功耗可控开发资料齐全。1.2 教程为什么锁定YOLOv5s而不是YOLOv8这个问题我经常被人问。YOLOv5s 虽然“老”但它恰恰是边缘设备上最成熟的组合第一YOLOv5s 模型体积小参数量大约 7.2MFP32 权重也就 14MB 左右INT8 量化后更小非常适合 RK3588 这种端侧设备。第二模型结构上 YOLOv5s 的 C3 模块CSPNet 变体对 NPU 特别友好算子很容易映射到 NPU 上不需要做太多模型改造就能达到较高帧率。相比之下 YOLOv8 的某些结构在 RKNN 转换时更容易报算子不支持的错。第三社区资料海量。训练、转换、部署每一步踩坑的人多解决方案也最多。对新手来说最快的路不是追新而是走一条被验证过无数次的成熟路径。等这条路走通了再迁移到 YOLOv8 也就顺理成章——底层的 RKNN-Toolkit 和 rknn_model_zoo 都是同一套东西。1.3 这篇教程在整套系列里的位置整个系列按依赖顺序排大致是阶段内容依赖01镜像烧写与系统初始化无02开发环境搭建与 SSH 连接本篇03准备模型与数据集前两篇04RKNN 模型转换与量化前三篇05NPU 推理部署与优化全系列本篇是整个系列的地基。烧写这一步出问题后面每一步都会连锁翻车。所以我把每一步操作、每个参数的坑都写清楚宁可啰嗦不要遗漏。2. 烧写前的物料清单与关键概念烧写本身不难但很多人翻车是因为物料不齐或者概念混淆。先把这几件事理清楚。2.1 硬件准备清单除了香橙派板子本身你还得准备这些东西电源香橙派 5 推荐使用 5V/4A 以上的电源适配器USB-C 口供电。很多人用手机充电器通常是 5V/1A 或 5V/2A糊弄结果内存、外设一多就电压不稳轻则反复重启重则烧坏 eMMC。电源千万别省。MicroSD 卡建议选 A2 级别的 UHS-I 卡容量 16GB 以上。烧写系统到 SD 卡启动的场景卡的速度直接影响系统流畅度。劣质卡是启动失败的重灾区。USB 线烧写 eMMC 时需要用 USB Type-C 数据线连接板子和电脑。注意这根线必须支持数据传输不是那种只能充电的线。怎么判断插到电脑上能识别到 USB 设备就是数据线识别不到大概率是纯充电线。读卡器SD 卡方式烧写需要读卡器最好用 USB3.0 读卡器速度快很多。HDMI 线和显示器首次启动要看画面至少准备一台 HDMI 显示器方便排查问题。后面可以通过 SSH 远程操作但首次确认系统正常显示器还是需要的。2.2 两个关键概念eMMC与SD卡启动香橙派 5 支持两种存储介质作为系统盘板载 eMMC焊在板子上的闪存和外插 MicroSD 卡。启动优先级上香橙派 5 默认先从 eMMC 引导如果没有 eMMC 才会从 SD 卡引导。这句话在很多教程里都容易被忽略导致一个经典场景你明明把系统烧到了 SD 卡插上去开机却发现进了旧系统或者黑屏——大概率是板子上焊接了 eMMC 且里面还有系统优先走 eMMC 了。两种方式各有适用场景SD 卡烧写简单适合新手和频繁换系统测试。烧写工具用 balenaEtcher跟烧树莓派一样Windows/macOS/Linux 通用不需要装驱动不需要按按键点击几下就完成。eMMC 烧写速度快系统盘容量大适合部署阶段确定用哪套系统后固化下来。但烧写工具需要用瑞芯微官方的 RKDevToolWindows还要装驱动过程比 SD 卡方式复杂。eMMC 烧写到 SD 卡不用解释直接跳本篇我会重点讲 SD 卡方式因为最简单、最不容易出错适合入门。eMMC 方式我在第 5 节也会给完整操作流程毕竟后面真正部署模型跑推理还是建议用 eMMC。2.3 软件准备镜像与烧写工具需要下载的东西如下表软件用途获取方式系统镜像.img要烧写进存储卡/存储器的系统香橙派官方或 GitHub ReleasesbalenaEtcherSD 卡烧写工具官网下载RKDevTool DriverAssitanteMMC 烧写Windows香橙派 Wiki 提供下载7-Zip / WinRAR解压 .7z / .zip 镜像包官方下载下载源优先选择官方地址。香橙派的镜像发布在官方网盘和 GitHubGitHub 页面标明了镜像的 SHA256 校验值建议下载后务必校验。镜像包通常是 .7z 压缩格式解压后才得到 .img 文件。3. 镜像选择这一步也别乱来3.1 官方镜像有哪些香橙派 5 官方提供的系统镜像非常丰富常见的有Orange Pi OS基于 Android 的桌面系统、Ubuntu 22.04/20.04、Debian 11/12、Android 12/13、还有轻量级的精简版系统。我们这个系列要跑 YOLOv5s目标明确优先选Ubuntu 20.04 或者 22.04 桌面版。为什么选 Ubuntu两条原因一是 RKNN-Toolkit 和 rknn_model_zoo 官方对 Ubuntu 的支持和验证最充分跑训练、模型转换这些环节在 Ubuntu 上几乎不会遇到奇奇怪怪的环境兼容问题。二是社区资料量大遇到任何一个报错基本都能搜到别人踩过的坑。用冷门发行版错误信息可能全世界只有你一个人见过那就无解了。3.2 Ubuntu 20.04 还是 22.04 怎么选这是一个非常实际的问题。我的建议是跟着你要安装的 RKNN-Toolkit 版本走。RKNN-Toolkit 1.x 版本支持 Ubuntu 18.04/20.04RKNN-Toolkit2 支持 20.04/22.04。如果你后面要用 RKNN-Toolkit2推荐RK3588 对应的就是 toolkit2那么 20.04 和 22.04 都能用。我个人实测下来22.04 桌面版对新硬件的驱动支持更好系统更新更活跃20.04 则是老牌稳很多 RKNN 相关教程和后续依赖默认假设你在 20.04 下运行坑最少。如果你不想折腾闭眼选 Ubuntu 20.04 桌面版。别问为什么“最经典”的答案通常就是最省心的那个。如果板子是香橙派 5 Plus/5 Pro镜像记得下载对应型号的专用版本不要拿普通香橙派 5 的镜像硬刷虽然核心一样但设备树、外设定义不同可能引起网络、显示等小毛病。3.3 校验镜像完整性我会坚持做这一步。大体积文件从网盘下载谁都不敢保证传输过程没有坏块。解压后先在终端里跑一下sha256sum 镜像文件名.img把输出的哈希值和发布页上写的值比对一致再烧写。这一步 30 秒省掉的可能是后面一整天的排查时间。我见过有人拿损坏的镜像烧写启动到一半内核 panic排查到吐最后才发现是镜像本身坏了。4. 手把手烧写 Ubuntu 20.04 镜像下面进入正题。这一节我会分别给出 SD 卡和 eMMC 两种方式的完整步骤你根据自己的情况选一种。4.1 方式一SD 卡烧写balenaEtcher 三分钟搞定这是最没有门槛的方式整个过程跟在树莓派上烧系统一模一样。第 1 步解压镜像把下载到的 .7z 压缩包解压得到一个完整的 .img 文件。注意确认文件大小和分区表信息在内不要只看到 .img 后缀就以为没问题有的镜像包解压出来是 .img.gz 或者多个分片全部要处理完整。第 2 步打开 balenaEtcher插上 SD 卡和读卡器打开 Etcher。界面就三步Flash from file选择刚才解压出来的 .img 文件Select target选择 SD 卡对应的盘符Flash开始烧写这里有一个必须强调的坑选目标磁盘时一定要看清楚是 SD 卡不是你的电脑硬盘。Etcher 会提醒你目标盘即将被擦除别不当回事。我身边就有人选错目标盘把工作电脑的系统盘直接冲掉了那真是欲哭无泪。如果电脑上插了多个 USB 存储设备拔掉多余的再操作。第 3 步耐心等烧写和校验完成Etcher 烧完之后还会自动做一次校验Validate这一步别跳过它会逐个扇区比对 SD 卡内容和镜像文件是否一致。校验通过后Etcher 会提示成功。第 4 步弹出 SD 卡插入板子开机安全弹出 SD 卡插到香橙派 5 的 SD 卡槽里接上 HDMI 线、显示器、网线可选方便后面查 IP最后插上电源。注意请先检查板子上是否焊有 eMMC 模块如果有且里面有系统香橙派会优先从 eMMC 启动你烧的 SD 卡系统根本不会被加载。此时要么先想办法清空 eMMC要么按住板子上的 MaskROM 按键再上电进入从 SD 卡引导的模式。具体操作在 5.1 节详细说。看到屏幕进入系统桌面或者至少出现系统滚动日志SD 卡烧写就算成功了。4.2 方式二eMMC 烧写RKDevTool 完整流程SD 卡方式够用但系统跑在 SD 卡上读写速度受限后面跑 YOLOv5s 涉及大量模型文件和推理数据读写SD 卡会拖后腿。正式部署建议烧进 eMMC 或 NVMe香橙派 5 有 M.2 接口。这里我先给出最稳定的 eMMC 烧写流程。第 1 步安装驱动在 Windows 上下载并解压 DriverAssitant 驱动包右键以管理员身份运行 DriverInstall.exe点击“安装驱动”。这一步不做后面 RKDevTool 永远识别不到设备。第 2 步让板子进入 Loader 模式先把 USB Type-C 数据线一头插到板子的 USB-C 口注意不是电源口板子有两个 USB-C 口一个负责供电一个负责 OTG/数据传输烧写用的是 OTG 那个另一头插到电脑。然后关键操作不接电源的情况下用回形针或镊子按住板子上的 MaskROM 按键在 eMMC 附近看板子丝印按住不放同时插入 USB-C 电源线供电大约 2 秒后松开按键这个操作其实是让芯片进入指定的烧写模式。如果你没按按键直接上电设备可能处于正常启动模式RKDevTool 识别到的可能是“设备”而不是“Loader”烧写会失败。第 3 步RKDevTool 识别设备打开 RKDevTool.exe正常情况下右侧设备区会显示“发现一个 LOADER 设备”或“发现一个 MASKROM 设备”。这里要解释两个模式的区别Loader 模式设备能正常引导方便升级烧写MaskROM 模式芯片的引导程序完全没跑起来相当于最底层的恢复模式。当 Loader 被刷坏、eMMC 内容异常导致无法引导时就需要强制进 MaskROM 来救砖如果你用 MaskROM 模式烧写没有现成的 loader 的话先点击“升级固件”页面里的“Loader”栏选择镜像包自带的 rk3588_spl_loader 文件再加载固件。第 4 步加载分区表并执行烧写在 RKDevTool 界面左侧点击“下载镜像”页面固件列表里你会看到各个分区uboot、boot、rootfs、userdata 等每个分区右侧对应一个镜像文件路径。简便做法是点击“升级固件”标签页直接把整个 update.img 拖进去然后点“升级”。升级过程底部会显示进度条和烧写日志比如开始写 uboot、写 recovery、写 rootfs 等。整个 eMMC 烧写过程大概 10 分钟左右取决于电脑 USB 速度和 eMMC 容量。烧写完成后工具会提示成功板子会自动重启。第 5 步首次启动设置重启后进入系统桌面跟 SD 卡方式一样先做基础配置设置时区、语言、用户名密码、扩展分区这个很重要下一节细讲、更新软件源。4.3 烧写完成后的三件必做小事不管哪种方式烧写完我都建议立即做这三件事否则后面会有隐患1. 把引导源理顺如果你板子上同时有 eMMC 系统和刚烧的 SD 卡系统记住香橙派默认优先 eMMC。想让系统从 SD 卡跑要么物理上清掉 eMMC 上的系统要么通过进入系统后修改引导顺序。最简单可靠的方法用 balenaEtcher 往一张空 SD 卡写入你想用的系统做启动盘同时把 eMMC 内容先放着不动如果开机没反应再考虑清 eMMC。2. 开启 SSH 方便远程操作桌面版系统默认可能没开 SSH。在桌面上打开终端sudo apt update sudo apt install openssh-server -y sudo systemctl enable --now ssh然后查看一下 IP 地址ip addr show记下 eth0 或 wlan0 的地址。后面所有模型部署操作我都建议通过 SSH 远程做不要在桌面里操作一是效率低二是桌面环境占用大量 CPU/GPU 资源影响模型推理演示效果。3. 扩展根分区这个话题放到第 5 节详细说因为这是高频坑。现在先记住如果你的系统是官方镜像是通过“升级固件”方式刷入 eMMC 的很多镜像 rootfs 分区只分配了 4GB 左右实际剩余空间远小于你的 eMMC 容量。如果不扩容后续装 Python 环境、下载模型文件分分钟把磁盘写满。5. 烧写高频问题排查实录这一节的内容都是我实际折腾中和带学员过程中遇到最多的问题每一个都给出可复现的排查路径。5.1 RKDevTool 识别不到设备这是 eMMC 烧写时最最常见的问题。现象板子按了 MaskROM 键也上了电但 RKDevTool 右侧一片空白没有任何设备。排查顺序按成功率从高到低确认数据线。很多 USB-C 线只走电源不走数据换根确定能传输数据的线或者用手机的原装数据线试。确认 USB 口。优先插电脑主板的后置 USB 口前置 USB 口供电和信号质量都差一些。老笔记本的 USB 口电流不稳也会导致烧写中断。确认驱动安装成功。打开设备管理器看有没有“Rockchip USB”相关的设备。如果显示黄色感叹号说明驱动没装好右键重新安装驱动或者卸载后重启再装。确认进入 MaskROM/Loader 模式。方法按住 MaskROM 键然后插电。如果你板子丝印里 MaskROM 和 Recovery 是两个键都试一下。有时候 Loader 模式识别不了就换 MaskROM 模式。换电脑试。不同电脑的 USB 控制器兼容性不同我遇到过一个案例Win11 的笔电死活识别不了换台 Win10 台式机一次成功。如果上面这些都试完还是识别不到还有一个必杀技用 Linux 的 upgrade_tool 工具。香橙派官方提供的 Linux_Upgrade_Tool 在 Ubuntu 上运行对设备的识别成功率往往比 Windows 的 RKDevTool 更高。sudo ./upgrade_tool工具启动后同样按住 MaskROM 键上电终端里会打印出设备信息然后可以使用sudo ./upgrade_tool uf 你的镜像update.img等待烧写完成即可。5.2 刚烧写完磁盘就没空间了这个问题的出现概率极高很多人反应“刚烧写的 Ubuntu 20.04 磁盘就没空间了”原因就是官方镜像给 rootfs 预留的容量很小。举个例子官方 Ubuntu 20.04 镜像的根分区可能只分配了 4~8GB但 eMMC 是 64GB。你 df -h 一看根分区用了 90% 以上还没装任何东西就没空间了。解决方法是扩展 rootfs 分区。在系统终端里执行# 查看当前分区情况 sudo fdisk -l /dev/mmcblk0 # 用 parted 或 resize2fs 扩展 sudo resize2fs /dev/mmcblk0p3注意不同镜像 rootfs 分区号可能不同有的在 mmcblk0p5有的在 mmcblk0p7。扩展之前先跑 fdisk -l 确认sudo fdisk -l你会看到类似这样的输出Device Boot Start End Sectors Size Id Type /dev/mmcblk0p1 32768 532479 499712 244M c W95 FAT32 (LBA) /dev/mmcblk0p2 532480 1708031 1175552 574M 83 Linux /dev/mmcblk0p3 1708032 121110527 119402496 56.9G 83 Linux如果 p3 的 End 已经占满整个 eMMC说明分区已经扩展到最大剩下只需要sudo resize2fs /dev/mmcblk0p3看到输出类似 “resizing filesystem on /dev/mmcblk0p3 to 某容量 blocks”然后 df -h 重新看根分区的 Avail 应该已经变大了。如果分区本身没占满磁盘先删除分区再重建扩大注意别删错分区或者干脆重烧一次镜像再扩容。5.3 开机黑屏、反复重启、卡在 logo这几个问题看似不同根源常常是同一个供电不足或数据线问题。黑屏先确认 HDMI 线插的是板子的 HDMI 口而不是别的口有的型号有两个 HDMI优先插 HDMI-1。另外确认显示器支持的分辨率香橙派默认输出分辨率如果显示器不支持会一直黑屏无信号。这样排查换台 1080p 显示器试试或者把 HDMI 接到电视上。反复重启十有八九是电源问题。5V/2A 以下的电源带不动 8 核 A76 全速运行系统刚起来负载一高就掉电重启。解决办法是换 5V/4A 以上的电源且线材不要太长、太细。这个问题不要抱有侥幸我在调试时曾用 5V/3A 电源跑 YOLOv5s 推理演示NPU 和 CPU 同时满载两分钟就直接重启换 5V/4A 后稳如老狗。卡在 logo 或滚动条先看是不是镜像损坏重新校验 SHA256不行就重烧一次。也有可能是 SD 卡质量问题换一张 A2 级别的卡再试。最后还可以考虑是不是 HDMI 分辨率协商问题很多镜像默认 4K60Hz 输出部分显示设备不支持可以尝试在引导配置里修改分辨率设置。5.4 几个冷门但真实的坑系统时间不对导致 HTTPS 下载失败新烧的系统如果没有联网校时时间可能是 1970 年前后这时候用 apt 更新或者下载 GitHub 文件会报 SSL 证书错误。解决办法sudo apt install -y ntpdate sudo ntpdate ntp.aliyun.comapt 更新源慢官方镜像的源大部分是国外源在国内网络环境下更新慢得离谱。建议换国内镜像源。Ubuntu 20.04 修改/etc/apt/sources.list把 archive.ubuntu.com 替换成清华源或者阿里云源然后 sudo apt update。这一步能让你后续装 Python 包、系统依赖的速度提升十倍以上。板子发烫但风扇不转香橙派 5 的散热风扇默认是根据温度自动启停的但如果散热风扇的供电接口没插对温度飙到 80 度也不会转。检查风扇是否插在板子标注的 FAN 接口上并确认系统里有没有启动风扇控制服务。如果长时间高负载跑模型推理建议给板子加装主动散热NPU 持续工作发热量不小温度过高会造成 NPU 频率下降推理速度肉眼可见变慢。6. 烧写之后为 YOLOv5s 部署铺路系统起来、磁盘扩容、SSH 能连上到这里本期的基本任务就完成了。但既然目标是跑 YOLOv5s烧写完我建议顺手做两件准备工作避免下一期开机时手忙脚乱。6.1 确认 NPU 设备节点RK3588 的 NPU 在系统里对应/dev/rknpu设备节点。烧写完系统后检查一下ls -l /dev/rknpu*正常能看到类似/dev/rknpu0的设备节点。如果这个节点不存在说明内核没有加载 rknpu 驱动或者内核版本和镜像不匹配。后面用 RKNN 跑模型时这一步是硬前提。同时确认一下系统架构和系统版本后续装 RKNN-Toolkit 要用uname -a cat /etc/os-release6.2 安装 Python 环境YOLOv5s 从训练到转换中间要经过 Python 环境。建议在这里就把基础环境装好sudo apt update sudo apt install -y python3-pip python3-dev python3-venv git python3 --version小建议用 venv 或 conda 管理环境不要直接装系统 Python。模型转换过程中依赖版本冲突非常常见比如 numpy 1.x 和 2.x 的差异就可能让 RKNN 工具链崩溃。给这个项目单独建一个虚拟环境python3 -m venv ~/yolo_env source ~/yolo_env/bin/activate pip install --upgrade pip后面训练和转换都在这个环境里操作跟在系统环境里装的互不干扰。这个习惯帮我省了无数重装系统的时间。6.3 给你的后续路线预想镜像烧写只是万里长征第一步。接下来我们会依次搞定SSH 远程开发环境搭建、YOLOv5s 模型获取与训练或直接使用预训练权重、RKNN-Toolkit2 安装、模型转 ONNX 再转 RKNN、量化踩坑、最后在板子上跑起实时推理。每一步我都会有实际操作日志和真实踩坑记录你只要跟着走大概率能一次过。我最想提醒的还是一句老话别跳步。很多人觉得烧写小事一桩直接跳到模型部署结果环境不对、分区爆满、NPU 驱动缺失一堆问题混在一起根本没法排查。老老实实把基础铺好后面的进度反而快得多。
📌 标签:
工业官网
设计趋势
AI 建站
SEO
获取完整报告 →
RELATED ARTICLES
推荐阅读
2026/9/28 1:04:28
PseKNC特征编码实战:Python实现ac4C位点预测的完整pipeline
2026/9/28 1:04:28
WordPress修改导航栏完整流程:新手也能搞定的6步实操
2026/9/28 1:04:28
STM32以太网调试实战:从Nucleo-F767ZI原理图到LWIP ping通
2026/9/28 7:14:47
C# WinForm权限管理系统实践:基于RBAC模型从数据库设计到按钮级权限控制
2026/9/28 7:14:47
Node.js+Vue电子报销系统设计:全栈实现与部署实践
2026/9/28 7:14:47
Python轻量级XSS漏洞检测脚本:从反射型到DOM型的实战设计
2026/9/28 7:14:47
3个实操步骤搞定多个网站给一个网站推广对比评测
2026/9/28 7:14:47
济南网站推广实战:搞定性能优化与防黑,流量翻倍
2026/9/28 7:09:47
让AI编程助手告别“失忆”:superpowers技能包实战解析
2026/9/28 0:04:25
新手从零搭建网站促销活动策划避坑指南:3个方案费用全拆解
2026/9/28 0:04:25
网站被黑挂马?3步图解步骤搞定软件介绍下载网站建设安全
2026/9/28 0:04:25
国内可以做的国外兼职网站进阶技巧
2026/9/28 2:37:38
网站建设的英语怎么说?别只背单词,看完这套安全完整流程才敢上线
2026/9/28 5:00:42
新手入门看这篇:建设网站加盟避坑指南与SEO实操
2026/9/27 0:02:53
论文AIGC疑似度是什么意思?想查论文AI率有哪些免费工具?