ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

RK3588香橙派5烧写指南:TF卡/eMMC镜像与yolov5s部署基础

RK3588香橙派5烧写指南:TF卡/eMMC镜像与yolov5s部署基础 板子到手那天我其实挺兴奋的结果插上TF卡就翻车了——屏幕毫无反应只有风扇在转。折腾了一个晚上才发现问题不在镜像而在电源。这件事让我意识到烧写镜像这个环节看着简单其实藏着不少坑尤其是第一次接触RK3588这种芯片的人光是把系统烧进去这件事就够研究一阵子。这个系列叫“手把手从头到脚香橙派RK3588 yolov5s教程”第一篇先把镜像烧写彻底讲透。本文用香橙派5Orange Pi 5为例它用的是瑞芯微RK3588S属于RK3588系列芯片烧写方法和正式版RK3588一致后续部署yolov5s也完全通用。适合谁看刚入手香橙派、想在板子上跑目标检测模型、但之前没怎么接触过嵌入式Linux烧录的开发者。看完之后你能搞明白三件事为什么RK3588必须用镜像烧写而不是像电脑一样装系统、TF卡和eMMC两种烧写方式怎么操作、烧完系统之后要做哪些基础配置才能给yolov5s铺路。1. 香橙派RK3588跑yolov5s为什么第一步非得是烧镜像1.1 先看这颗芯片的底子香橙派5这块板子最大的卖点就是RK3588S这颗SoC8核心设计4个Cortex-A76大核加4个Cortex-A55小核最高频率能跑到2.4GHz左右搭配Mali-G610 GPU还有个6 TOPS算力的NPU。这个6 TOPS是什么意思它指的是INT8精度下每秒可以执行6万亿次运算这个数值放在几百块的开发板里相当能打。很多人拿它和Intel N150这种低功耗x86平台对比N150胜在能直接跑x86生态的软件但纯论本地推理目标检测模型RK3588的NPU优势非常明显。跟树莓派4B对比就更直观了树莓派没有NPU跑yolov5s只能靠CPU硬算实时性很差而RK3588把模型转换成RKNN格式之后能跑在专用NPU上同样的yolov5s模型推理延迟能低一个数量级。对比项树莓派4B香橙派5RK3588SJetson NanoCPU4核Cortex-A72 1.5GHz4核A76 4核A55 最高2.4GHz4核Cortex-A57 1.43GHzGPUVideoCore VIMali-G610 MC4128核MaxwellNPU算力无6 TOPS INT8无独立NPU内存2GB/4GB/8GB4GB/8GB/16GB4GB跑yolov5s的方式CPU推理RKNN模型走NPU推理TensorRT或GPU推理看到这个对比就明白为什么这个系列选香橙派RK3588而不是树莓派。6 TOPS的NPU正好适合yolov5s这种轻量级检测模型INT8量化之后单帧推理时间可以压到几十毫秒做实时视频流检测完全可行。后续如果我们打算换yolov8这套板子的硬件基础也够用本质上都是走RKNN模型转换这条路。1.2 CPU推理和NPU推理不是一回事我见过不少朋友第一次拿到板子第一反应是“能不能直接装个PyTorch跑yolov5s的pth模型”。在RK3588上这条路基本走不通因为这个SoC没有CUDA这样的通用GPU计算环境而且它的GPU虽然支持OpenCL性能却不是为深度学习推理设计的。真正高效的玩法是走NPU。类比一下CPU像一个全能杂役什么活都能干但速度慢NPU是一条专门做矩阵乘法的流水线只会干这一类活但干得飞快。yolov5s的卷积运算本质上就是大量矩阵乘法所以交给NPU是最划算的。要把模型跑在NPU上就要用RKNN Toolkit2把yolov5s导出成RKNN格式这已经在RK3588平台上形成了成熟套路也是这个系列后面几篇的核心内容。1.3 为什么不能用“通用Ubuntu安装盘”直接装很多从x86平台转过来的朋友会问我在电脑上装Ubuntu都是用U盘启动器为什么RK3588不行原因是RK3588的引导方式和x86完全不一样。x86有BIOS/UEFI有标准的引导协议而RK3588依赖芯片内部的BootROM启动时会从SPI Flash、eMMC、TF卡这些介质去寻找特定格式的引导程序然后加载U-Boot再由U-Boot去加载设备树DTB和内核。开发板的系统镜像里除了根文件系统还包含了MiniLoader、U-Boot、trust、设备树、内核这些专为当前板型编译好的固件。你拿一个通用Ubuntu ISO去装缺少的正是这些针对性引导文件装完根本起不来。所以做嵌入式Linux开发镜像烧写是最基本也最关键的一环系统镜像选错或者烧错位置后果就是上电黑屏。2. 烧写前的物料清单与工具选型少准备一样就容易半路翻车2.1 硬件清单不只是板和卡烧写之前把东西备齐能省掉大量排查时间。我列一下我常用的清单香橙派5主板一块带不带eMMC模块都行烧写方式略有区别TF卡一张容量至少16GB建议直接上32GB或64GB。速度等级认准A2、U3这一点很关键后面细说读卡器一个最好不是那种劣质的劣质读卡器能让你误判烧写失败电源适配器必须5V/4A以上官方推荐5V/4A。千万别拿手机充电头凑合很多手机头只有5V/1A带不动RK3588HDMI线、显示器、键盘鼠标用于第一次进系统USB转串口模块一套备用。显卡黑屏时串口日志能救命M.2 NVMe SSD一块可选项。后面做视频数据集存储和长期运行时建议加一块这里必须重点说TF卡。RK3588启动时要频繁读取内核和根文件系统SD卡IO速度直接决定了系统流畅度。A1以下的卡就算烧进去了进入桌面后也会卡到怀疑人生打开终端都要转圈好几秒。我在实验中还发现某些杂牌卡写入时看着成功了Etcher也校验通过了但插到板子上就是启动不了换一张正规品牌A2卡立刻解决。TF卡这个坑属于烧写阶段最容易忽视但最影响体验的。2.2 镜像文件怎么选先分清官方镜像和第三方镜像香橙派官方提供适用于Orange Pi 5的系统镜像在官方网站或者官方WIKI的Download页面就能找到。常见的有Orange Pi OS、Ubuntu 22.04桌面版、Ubuntu 20.04桌面版、Debian 11等。做yolov5s部署我推荐直接用官方Ubuntu 22.04桌面版理由是这个版本自带的Python 3.10和RKNN环境兼容性好桌面版则方便查看图像检测效果。如果你打算纯做服务端推理不需要图形界面想省内存那选Ubuntu Server版也行但后面调试显示效果时还是得回到桌面版。下载的时候注意几点文件一般是.img.xz压缩格式体积好几个GB下载完务必校验SHA256官方页面会提供哈希值不要用树莓派的镜像或者其他开发板的镜像来烧芯片和板型不同DTB和引导程序不匹配烧进去百分百起不来关于“RK3588烧写Ubuntu 20.04”这个热词可能很多人在生产环境里用20.04因为ROS或某些老驱动依赖它。如果你确实要用20.04流程完全一样只是后续装RKNN环境时要注意对应版本这个留到系列第三篇细讲。2.3 烧写工具选型TF卡烧写和eMMC烧写是两码事很多新手不知道烧TF卡和烧eMMC用的工具不是同一类。烧TF卡的本质是把镜像文件写入一张普通SD卡Windows、macOS、Linux下都有通用工具烧eMMC或者操作MaskROM模式则需要瑞芯微官方的烧录工具Windows下叫RKDevToolLinux下叫rkdeveloptool。工具适用平台适用场景特点balenaEtcherWindows/macOS/Linux烧TF卡最推荐支持img.xz直接烧写自动校验界面简单Win32DiskImagerWindows烧TF卡备选老牌工具但需要先解压imgdd命令Linux/macOS烧TF卡/写eMMC命令行灵活可控危险系数也高RKDevToolWindowsMaskROM/eMMC烧写图形化装驱动后可用rkdeveloptoolLinux/macOSMaskROM/eMMC烧写命令行适合脚本化操作烧TF卡新手无脑选balenaEtcher。它的好处是能把.xz压缩镜像直接烧写进卡里不用手动解压而且烧完会自动校验。Windows下的Win32DiskImager虽然也能用但你必须先把.xz解压成.img还得留出双倍磁盘空间。3. 一份能复现的TF卡烧写记录从镜像下载到首次开机3.1 下载镜像与哈希校验的实际操作假设我选择下载官方Ubuntu 22.04桌面版镜像文件名类似orangepi_5_ubuntu_jammy_desktop_xfce_xxx.img.xz。在Linux下可以用wget下载也可以在浏览器里直接下。下载完后第一件事不是解压也不是烧写而是算哈希sha256sum orangepi_5_ubuntu_jammy_desktop_xfce_xxx.img.xz把算出来的值和官方页面公布的SHA256比对一致才继续。Windows下用PowerShell也能算Get-FileHash .\orangepi_5_ubuntu_jammy_desktop_xfce_xxx.img.xz -Algorithm SHA256为什么这一步不能省镜像文件十几个GB下载过程中网络抖动导致文件损坏是常有的事。你拿一个坏镜像去烧插到板子上轻则启动卡住重则误导你排查一晚上其他硬件问题。我自己就吃过这个亏镜像在下载到99%时中断过重新下载后校验值才正常之前烧出来的卡根本引导不了。3.2 图形化烧写用balenaEtcher的完整步骤Etcher的操作流程足够简单但我还是要列出完整步骤因为细节都在“看似简单”里下载并安装balenaEtcher打开后界面只有三步第一步选择镜像选中下载好的.img.xz文件不用解压第二步选择TF卡目标设备注意看容量和型号确认没有选错第三步点击Flash开始写入等待写入完成Etcher会自动进行写入后的校验出现绿色的校验通过提示才算完成正确弹出TF卡插到香橙派上这里需要解释的是Etcher写入的是整块设备而不是某个分区所以它会清空TF卡上所有数据并把镜像里的分区表原样写到卡上。Etcher能直接烧.xz压缩文件的原理是流式解压一边解压一边写入不需要在本地生成临时img文件这对手上只有小块硬盘的朋友很友好。关于选错设备这件事我再多说一句。Etcher在Windows下默认会隐藏系统盘但如果你电脑上插了多块移动硬盘还是有可能选错。我的经验是在“选择目标盘”这一步先拔掉所有无关U盘和移动硬盘只留读卡器从根源上避免手滑。3.3 命令行烧写Linux和macOS下用dd把镜像写进TF卡我平时更喜欢命令行因为dd命令在写完后可以快速用lsblk验证分区结构。Linux下操作方式如下sudo dd iforangepi_5_ubuntu_jammy_desktop_xfce_xxx.img of/dev/sdX bs4M statusprogress convfsync几个参数解释一下if就是输入的镜像文件of是目标设备注意这里是/dev/sdX是整个TF卡设备不是/dev/sdX1这种分区号写错分区会破坏分区表bs4M是每次读写4MB块能明显提升写入速度statusprogress会显示实时进度convfsync保证数据真正落盘后才返回避免你看到命令结束但实际上数据还在缓存里就拔卡。写完之后执行sync再执行lsblk你会看到TF卡上有多个分区比如一个FAT格式的引导分区和一个ext4格式的根文件系统分区这说明分区表写入成功。macOS下dd命令大同小异但目标设备路径要换成/dev/rdiskX这是raw设备节点写入速度比/dev/diskX快很多sudo dd iforangepi_5_ubuntu_jammy_desktop_xfce_xxx.img of/dev/rdiskX bs4m statusprogress用dd命令前务必用lsblkLinux或diskutil listmacOS看清楚设备名。我以前见过有人把主机硬盘当成目标盘一条命令下去整个系统没了这种事故无法挽回血泪教训。3.4 第一次上电看到什么才算烧写成功TF卡烧好之后插到香橙派板子的TF卡槽里接上HDMI线和键鼠最后接上电源。正常启动顺序是这样的先是板子亮灯、风扇转起来屏幕出现橙派Logo然后进入U-Boot引导菜单可能有短暂的黑屏接着出现Ubuntu开机画面最后进到桌面登录界面。官方Ubuntu镜像默认用户名为orangepi密码也是orangepi进入桌面后建议立刻修改密码用passwd命令操作。如果你选的是Server版则在终端登录时用同样的账号密码。不同版本的官方镜像默认账号可能有调整一切以官方WIKI发布说明为准。登录成功后烧写这一步就算正式完成了。不过我建议你先别急着高兴而是做两件后续章节会用到的事一是打开终端执行sudo apt update确认网络能通二是确认板子型号信息和系统版本。如果能ping通外网说明网络没问题后续安装环境才会顺畅。这里插一个注意事项如果你用的是香橙派5B这类带eMMC的版本插着TF卡上电后可能不会从TF卡启动因为板载eMMC的启动优先级在某些配置下更高。遇到这种情况先别急着怀疑TF卡烧坏了跳到下一章用MaskROM方式确认启动设备状态。4. eMMC与MaskROM模式烧写从原理到rkdeveloptool命令实操4.1 MaskROM是什么为什么不是变砖的救星却是刷机的守门人继续深入前先解释一个关键概念MaskROM模式。瑞芯微芯片内部固化了一段引导代码叫BootROM上电后芯片会先执行这段代码。如果检测到外部引脚满足特定条件芯片就会进入MaskROM模式此时RK3588会把自己模拟成一个USB设备等待电脑端下发loader和镜像。这个机制可以类比手机的刷机模式iPhone的DFU模式、高通方案的9008端口都是类似的设计思路。它的存在意义在于就算板子上的U-Boot被刷坏了、SPI Flash被写乱了、eMMC里没有系统芯片依然可以通过USB从外部接收固件把系统重新写进去。所以MaskROM不是“变砖后的救星”它本来就是一个标准的烧写通道只是平时用不到而已。哪些情况必须走MaskROM我总结成三类板载eMMC需要直接写入系统不想通过TF卡中转U-Boot或SPI Flash里的引导文件损坏板子无法启动需要重新刷loader插着TF卡却被eMMC里的系统抢占了启动权需要进MaskROM清理启动设备4.2 让RK3588进入MaskROM的两种方式进入MaskROM的操作方式在你的板子型号里略有区别但总体思路一致。以香橙派5为例常见做法是长按或短接板上的MaskROM按键保持按住的同时给板子上电再松开按键板子就会进入MaskROM模式。如果你的板子没有预留这个按键就查阅官方原理图找到MaskROM的短接点用镊子短接后再上电。进入MaskROM后用USB-C数据线把板子连接到电脑。注意一定要是数据线很多USB-C线只能充电识别不到设备。连接后在Linux主机上执行lsusb如果能看到Rockchip相关设备厂商ID是2207说明板子已经被识别为MaskROM设备。如果没识别到先换线再检查是不是需要安装驱动。Windows下则需要安装瑞芯微官方驱动设备管理器里会出现Rockchip USB设备。这里有个容易混淆的地方MaskROM模式和Loader模式不是一回事。MaskROM是芯片最底层的等待状态Loader模式是下载了loader之后进入的可操作状态。rkdeveloptool里先ld列出设备确认MaskROM再db下载loader之后设备才会进入Loader模式这时候才能烧写镜像。4.3 Windows下用RKDevTool烧写eMMC的图形化流程Windows用户最常见的操作方式还是RKDevTool图形界面逻辑清晰。第一次使用先装驱动建议安装RKDevTool安装包自带的DriverInstall。打开工具后如果板子已经连接并进入了MaskROM模式软件会显示一个设备连接状态。RKDevTool的烧写要点如下确保设备被识别显示为MaskROM设备在配置分区表里选择Loader文件一般从官方固件包里解压得到文件名类似rk3588_spl_loader_v1.xx.bin加载你要烧写的镜像文件选eMMC专用镜像不要直接拿TF卡镜像写eMMC点击“执行”按钮等待进度条跑完执行成功后板子会自动重启或者你手动断电重新上电为什么我反复强调“eMMC专用镜像”因为TF卡镜像和eMMC镜像的分区布局可能不同引导路径也可能有差异。虽然有的镜像能通用但保险起见官方WIKI如果明确区分了SD卡镜像和eMMC镜像就按官方分类来选。烧写失败再排查浪费的时间远比下载一个镜像的时间多。4.4 Linux下rkdeveloptool命令行实操与loader补丁Linux下我更习惯用rkdeveloptool脚本化操作干净利落。装好工具后按这个顺序执行sudo rkdeveloptool ld sudo rkdeveloptool db rk3588_spl_loader_v1.xx.bin sudo rkdeveloptool ld sudo rkdeveloptool wl 0 orangepi_5_ubuntu_jammy_desktop_xfce_xxx.img sudo rkdeveloptool rd逐条解释ld列出设备确认板子处于MaskROM状态db即download boot把loader下载到板子执行后设备进入Loader模式再次ld确认设备信息以免后续操作落空wl 0表示从偏移0开始写入镜像0就是整个存储介质的起始位置rd即reset device烧写完成后重启板子有时候还需要给loader打补丁或者单独升级loader对应命令是sudo rkdeveloptool ul rk3588_spl_loader_v1.xx.bin这个操作会升级板子上的loader版本。当你从网上找到修复某个启动问题的loader补丁时用的就是这个命令不需要把整个系统重刷一遍。顺便提醒一句下面的命令非常危险它会擦除存储设备上所有内容sudo rkdeveloptool ef当你的SPI Flash里被写入了错误的loader导致TF卡系统无法启动时ef命令擦干净反而能恢复出厂引导状态。但如果你不明确知道自己在干什么千万别乱按擦一下数据全没了。4.5 TF卡、eMMC、NVMe启动的取舍与个人建议等系统跑通之后很多朋友会纠结系统到底放哪里。我做了一张对比表供参考存储介质烧写难度读写速度稳定性适合场景TF卡最简单一般一般长期写入容易降速快速体验、新手入门eMMC中等需MaskROM或系统内dd较快很好适合长期运行固定部署、边缘盒子NVMe SSD需先有系统再操作最快很好大数据量、本地做数据集我的个人建议是前期验证烧写流程用TF卡就够了等把yolov5s的部署流程跑通再把系统正式放到eMMC或NVMe上。从TF卡启动时想在系统里把系统完整复制到eMMC先lsblk确认eMMC的设备名常见是mmcblk0再执行dd写入效果等价于用工具烧写但操作简单很多sudo dd if/dev/mmcblk1 of/dev/mmcblk0 bs4M statusprogress convfsync再次强调执行这种全盘复制命令前务必确认if和of的顺序没写反。顺序一反过来就是把eMMC的数据覆盖到TF卡上后果不堪设想。5. 烧完系统后的基础配置给yolov5s部署提前铺路5.1 改密码、更新系统、换源第一次登录系统后第一件事是改密码然后做系统更新。香橙派官方镜像默认账号密码都是orangepi这个账号在sudo组里权限很大不改密码放在公网环境非常危险。改密码passwd接着把系统更新到最新sudo apt update sudo apt upgrade -y如果网络慢可以换国内软件源但有一个关键点要记住RK3588是arm64架构只能用arm64的源千万别把x86架构的源地址写进去不然apt会报一堆架构错误。装基础工具也是顺手的事sudo apt install -y git curl vim htop net-tools python3-pip python3-venv cmakepython3-pip和python3-venv这两项我每次都会提前装好后面创建虚拟环境时不用再折腾系统环境。Ubuntu 22.04自带Python 3.10跑yolov5s的PyTorch版本和RKNN工具链都能兼容。5.2 确认NPU驱动和RKNN环境的地基接下来这一步是部署yolov5s之前必须确认的NPU驱动是否正常工作。RK3588的NPU驱动在内核里以rknpu模块形式加载正常情况下系统里应该存在设备节点/dev/rknpu。验证命令ls -l /dev/rknpu再配合lsmod看驱动模块lsmod | grep rknpu还可以直接读取NPU固件版本cat /sys/kernel/debug/rknpu/version如果能查到版本号说明NPU驱动已经就位。官方镜像一般内置了匹配内核的NPU驱动但如果你后面自己换了内核或者从第三方下载了精简镜像就可能出现/dev/rknpu不存在的现象。这会导致后续RKNN模型加载彻底失败所以我把这个验证放在烧写阶段就完成免得等部署时才返工。RKNN Toolkit2的版本和NPU驱动版本有对应关系你记不住没关系只要知道一条原则装RKNN环境时先看官方给的工具链版本对驱动版本的要求再决定要不要升级驱动。这部分内容是这个系列第三篇的重点这里先在系统层面把地基打牢。5.3 散热、温度与存储规划RK3588满载时的发热量不容小觑跑yolov5s推理时NPU和CPU都会持续高负载。香橙派5出厂通常带一个散热风扇但我建议再贴一块散热片或者干脆换个大一点的散热器。查看CPU温度cat /sys/class/thermal/thermal_zone0/temp输出的是毫摄氏度比如55000表示55摄氏度。实测下来满负载跑模型时温度长期控制在65到80摄氏度之间比较正常如果超过85度还持续往上走就该检查风扇是否接反、散热硅脂是否贴合了。高温会导致降频帧率掉一半都是轻的。存储方面给两个建议。第一TF卡不适合长期跑推理任务频繁写入和高温会加速损耗量产部署还是用eMMC或NVMe。第二如果后面做视频数据集测试尽量把数据放在NVMe上SD卡读大文件的瓶颈非常明显。顺手装上ffmpeg和gstreamer相关组件后续做视频流推流时能少踩不少装依赖的坑sudo apt install -y ffmpeg gstreamer1.0-plugins-base gstreamer1.0-plugins-good6. 烧写阶段高频翻车现场我的排查顺序和解决建议6.1 烧完TF卡插上板子一点反应都没有这是出现频率最高的问题先别急着怀疑镜像或烧写工具。我的排查顺序是电源、接触、镜像、串口。首先检查电源。前面说了很多手机充电头功率不够RK3588上电瞬间电流很大电压被拉低就会导致启动流程根本没跑起来。用带电流显示的电源适配器或者直接上正规5V/4A电源能排除一大半问题。其次检查TF卡接触。重新拔插一次确保卡扣到位读卡器连接主板也要牢固。然后用lsblk看分区结构是否完整如果烧写工具提示完成但没有任何分区大概率烧写目标选错了设备或者镜像文件损坏。最后一步才是怀疑镜像。重新校验SHA256重烧一次。如果重烧还不行换一张A2级别的TF卡。我用过几款杂牌卡Etcher校验明明通过插到RK3588上就是无法引导换成品牌A2卡后一次成功。这种案例不在少数卡和板子的兼容性问题很难排查直接换卡最省时间。有条件的话串口是最终裁决工具。香橙派板载UART调试串口接USB转串口模块波特率设置1500000RK3588调试串口常用这个速率上电后能看到完整启动日志。看到日志里卡在哪个阶段基本就能定位问题方向。6.2 卡在Logo、黑屏、花屏先分清是引导问题还是显示问题另一个高频现场是TF卡明明烧了上电后橙派Logo能出来但后面一直黑屏或者卡在Logo不动。这里要先分清两个阶段卡在Logo说明U-Boot阶段已经跑起来了问题大概率在后级的kernel启动或者显示输出上。我的建议是先换一根HDMI线再换一个显示器。RK3588对HDMI的EDID信息比较敏感有些显示器在特定分辨率下握手失败表现为黑屏但系统其实已经启动了。如果板子上有多个HDMI接口换一个接口试一下。如果你用的是MIPI DSI屏幕默认官方镜像未必适配你的屏型号建议先用HDMI把系统跑通确认环境没问题再折腾MIPI屏。很多用户在这个环节把“镜像烧写失败”和“MIPI屏未适配”混在一起排查白白折腾一晚上。如果换了显示器和线还是卡在Logo那就需要看串口日志了。日志会显示Linux内核加载到哪个设备时挂起常见情况是DTB和实际板型不匹配比如烧了Orange Pi 5 Plus的镜像到Orange Pi 5上。重新下载对应板型的镜像再烧一次。6.3 进入系统后过一会儿就重启、高负载时掉速明显这种情况十有八九是供电和散热问题。系统在低负载时看着一切正常一旦跑 apt upgrade 或者稍大点的任务CPU和NPU同时拉高功耗电源供不上就触发保护性重启。排查方法很简单高负载时观察电源指示灯或者换一个大功率电源问题消失就说明供电不足。还有个隐蔽原因是TF卡过热。SD卡在高强度读写时发热很厉害卡在塑料卡槽里散热条件差温度超过阈值后卡自己就挂起了。表现同样是一会儿正常一会儿卡死但串口日志不显示任何错误。用NVMe或eMMC能彻底根治这种间歇性问题。散热方面再强调一次不要只靠风扇风扇出风口如果被堵住散热效率直线下降。我给香橙派加装散热片后用同一个yolov5s模型做压力测试温度从92度降到76度推理帧率也稳定了。硬件散热对推理性能的影响往往被低估。6.4 TF卡明明有系统却进不去可能是启动顺序和SPI Flash在捣鬼最后一个容易忽略的场景板子上既有eMMC模块也插着TF卡TF卡里烧了好好的系统但上电后进的是eMMC里的旧系统或者干脆起不来。这是启动设备的优先级问题。RK3588的引导顺序中eMMC的优先级通常会高于TF卡如果你希望强制从TF卡启动可以先把eMMC模块断开或者进MaskROM后用ef命令把指导思想乱的SPI Flash内容擦干净。SPI Flash也是隐性干扰源。有的板子出厂SPI Flash里预置了某些引导信息如果你在折腾过程中往SPI Flash里写过Loader它可能覆盖默认的启动路径导致TF卡里的U-Boot根本没机会执行。这时就进MaskROM先用ld确认设备再用ul刷一个官方loader或者直接ef擦除把SPI Flash恢复到干净状态TF卡系统往往就能正常启动了。最终判断启动状态还是以串口日志为准。U-Boot阶段会打印“Boot device: SD”或者“Boot device: eMMC”之类的字样对照日志就能确认系统到底是从哪块存储介质启动的。个人经验是把这种GB级别的嵌入设备当成一个“需要精确投喂的小系统”来对待每一步都按日志说话能少走很多弯路。烧写阶段别图快镜像下载完先校验板子到手先读官方WIKI的启动说明电源尽量用正规大厂5V/4A。第一篇搞定系统之后接下来就是装RKNN Toolkit2、把yolov5s模型转换成RKNN格式、让它跑在NPU上做实时推理。如果你也卡在烧写这一关按上面的流程逐项排查大部分情况下十分钟内就能解决。
返回列表