新闻详情

新闻详情

首页 / 资讯中心 / 详情

RK3588开发板SD卡刷机全攻略:FAT32与EXT4分区详解

发布时间:2026/9/28 16:45:43来源:尧图网络
RK3588开发板SD卡刷机全攻略:FAT32与EXT4分区详解
RK3588开发板SD卡刷机全攻略从FAT32到EXT4的完整避坑指南做嵌入式开发这么久RK3588算是我玩过的芯片里刷机方式比较折腾但也最有代表性的一块。如果你手头正拿着一块RK3588开发板想在SD卡上跑一套Ubuntu或者自己裁剪的Linux系统这篇文章基本能帮你把整条路走通。先说清楚这篇文章解决什么问题RK3588开发板常见的烧录方式有两种一种是USB线连电脑用RKDevTool写入eMMC或NVMe还有一种就是用SD卡启动。用SD卡刷机最大的好处是你不需要频繁拆板子、不需要担心把板载存储刷成砖而且换系统就像换一张SD卡一样简单。但缺点也很明显——很多新手栽在文件系统格式、分区表、启动顺序这些细节上一折腾就是一下午。这篇文章我会从SD卡刷机的完整流程入手结合RK3588的启动机制把FAT32和EXT4这两种文件系统在刷机过程中的角色、分区要领、实操命令、常见坑位一次讲透。无论你是刚入手RK3588的新手还是老嵌入式工程师想把手头的板子重新规划一遍这篇内容都能直接照着操作。1. RK3588的启动链路为什么SD卡能刷机刷机时到底发生了什么想搞清楚刷机这件事先得明白RK3588从上电到进入系统经历了什么。只有理解了启动链路你才知道为什么SD卡要这么分区、为什么FAT32和EXT4缺一不可也才能在遇到“黑屏”“卡死”“引导失败”时不至于一头雾水。RK3588的启动过程大致分三个阶段BootROM、引导加载程序包括SPL和U-Boot/TPL、内核与根文件系统。BootROM是芯片内部固化的只读程序上电后首先执行。它的职责很简单——按照固定的优先级顺序尝试从不同存储介质读取引导代码。对RK3588来说这个顺序通常包括eMMC、SD卡、SPI Flash等。BootROM从SD卡读取到的是IDBInitial Data Block也就是我们常说的引导块。这部分包含了SPLSecondary Program Loader它负责初始化DDR内存、时钟等基础硬件然后加载U-Boot。U-Boot是真正的引导加载程序它读取环境变量、加载设备树和内核镜像最终把控制权交给操作系统。关键点在这个启动顺序上。RK3588芯片出厂时BootROM内部有一个默认的启动介质探测顺序。如果你的板子上eMMC里没有烧录过系统或者eMMC被清空了BootROM就会尝试从SD卡引导。这就是SD卡刷机的基础——只要SD卡里有合法的引导块和系统分区板子就能从SD卡启动哪怕板载存储是空的。这里有几个容易踩坑的概念需要重点理解第一RK3588从SD卡引导时读取的是固定偏移位置的数据而不是直接读FAT32或EXT4文件系统。BootROM会从SD卡的扇区偏移地址比如第64个扇区附近直接读取原始的二进制数据。所以保存到SD卡上的镜像文件不能直接用“复制粘贴”的方式放进去必须用工具按偏移写入。这就是为什么很多人把烧录好的img文件直接拷进SD卡里结果启动失败的根本原因。第二SPL和U-Boot存放的位置与文件系统无关。它们写在SD卡的头部区域IDB区域这块区域在分区工具里甚至不显示为可见分区。而根文件系统所在的EXT4分区则是从某个偏移地址开始的“真正的分区”。第三U-Boot本身可以读取FAT32和EXT4分区这是为了保证它能找到内核镜像和设备树文件。在内核挂载根文件系统之前所有文件读取动作都由U-Boot完成所以U-Boot需要对这些文件系统有支持。理清了启动链路你就知道SD卡刷机的本质是构建一张在指定偏移位置写入引导代码、后续分区包含内核与根文件系统的SD卡。接下来要做的就是掌握工具和格式。2. FAT32与EXT4在刷机中的角色定位为什么要分区为什么不能只用一个分区在我接触过的大量RK3588开发项目中很多初学者最大的困惑在于为什么SD卡要有多个分区为什么不能整张卡格式化成EXT4或者FAT32然后直接把系统文件丢进去答案要回溯到上一节的启动链路。RK3588的BootROM不认识FAT32也不认识EXT4它只认识固定偏移地址的裸数据。而U-Boot虽然能识别FAT32和EXT4但它读取内核镜像时需要的是可寻址的文件路径不是一坨裸数据打包。所以这就决定了SD卡必须分层处理第一层是IDB引导区。它从SD卡相对偏移地址0开始占据一段固定空间。这个区域里存放着SPL和U-Boot二进制文件它们是经过Rockchip工具打包的包含了签名信息和硬件初始化代码。这个区域不格式化任何文件系统直接按块写入。第二层是启动分区Boot分区。这个分区建议使用FAT32格式因为U-Boot对FAT32的读取支持最成熟、最稳定。分区里放的是内核镜像如Image或zImage和设备树文件.dtb。U-Boot通过环境变量中的配置从这个分区读取内核和设备树加载到内存中。第三层是根文件系统分区Rootfs分区。这个分区必须使用EXT4格式因为Linux系统运行需要文件权限管理、符号链接、日志功能等这些都是FAT32不具备的。FAT32不支持文件属性和符号链接如果你把根文件系统放在FAT32分区上系统运行过程中会遇到各种诡异问题——比如权限全部失效、服务起不来、日志没办法写入。为了更直观地理解我列一个对比表格对比项FAT32EXT4支持最大单文件4GB16TB文件权限管理不支持完整支持符号链接不支持支持日志功能无有journal开机自动修复无支持fsck典型用途U-Boot引导分区根文件系统看到这个对比你应该理解为什么分区设计必须是“FAT32EXT4”的组合了。FAT32承担的是U-Boot到内核之间的桥接角色EXT4承担的是操作系统运行时的完整文件系统功能。还有个细节值得注意U-Boot读取FAT32分区时对分区表类型MBR还是GPT也有要求。目前Rockchip官方SDK生成的SD卡镜像大多使用MBR分区表原因很简单——MBR兼容性在所有平台上都最稳定而且在U-Boot里的支持代码最成熟。3. 刷机前的准备工作硬件、软件、镜像一次备齐接下来进入实操阶段。先把需要准备的东西一次列清楚省得你在操作到一半发现缺工具工程进度卡壳。硬件方面RK3588开发板一块不同品牌的板子在启动拨码开关上略有差异操作前先看板子说明书SD卡一张建议容量16GB以上读写速度C10或U1级别以上这一点非常关键低速卡会导致系统启动极慢甚至启动过程中出现io错误读卡器一个。优先使用USB3.0读卡器SD卡直接插电脑自带卡槽也可以但某些老笔记本卡槽速度慢烧录大镜像时很煎熬串口模块USB转TTL这个强烈建议备一个。虽然你有HDMI输出但刷机过程中遇到内核崩溃、U-Boot启动参数不对串口输出是唯一的排障手段若你的板子需要进入MaskROM模式还需要准备一根质量过关的USB Type-C数据线软件方面RKDevToolWindows平台这是Rockchip官方烧录工具主要用于USB线刷eMMC但也能用来制作SD卡启动盘。如果你在Linux环境下工作可以用官方提供的升级工具upgrade_toolEtcherbalenaEtcher或者Win32DiskImager。前者跨平台Windows/Linux/macOS界面简单适合新手后者是Windows经典工具稳定可靠分区管理工具Windows下可以用DiskGenius或者系统自带的磁盘管理Linux下用fdisk或者gdisk镜像文件这里分两种情况。如果你用的是开发板厂商提供的完整SD卡镜像比如官方Ubuntu镜像、Debian镜像那镜像本身已经包含了IDB引导区、引导分区和根文件系统分区你只需要整体写入SD卡就行。如果你是自己从零构建的引导文件那需要单独准备SPL、U-Boot、内核、dtb和根文件系统压缩包镜像选择的经验之谈从实际项目经验来看如果你是第一次刷RK3588优先使用开发板厂商发布的官方镜像。不要一上来就自己从Linux源码交叉编译整套系统那是个大工程涉及U-Boot配置、内核裁剪、驱动移植、根文件系统构建没有一两个星期的持续调试下不来。用官方镜像把SD卡刷到能启动你就有了一套“已知正常的”基线环境。接下来再逐步替换内核模块、修改设备树哪个环节出问题也有对比参照。这套工作流程几乎所有RK3588的商业项目都是这么走的。4. SD卡完整刷机实操从格式化到启动验证一步步来现在进入重头戏。我会以“将官方Ubuntu镜像写入SD卡并成功启动RK3588开发板”为完整目标逐步演示操作每一步都会告诉你为什么这么做。4.1 第一步检查SD卡状态并清理分区表把SD卡插入读卡器后先在电脑上确认SD卡的设备名。这一步非常重要尤其是在Linux环境下搞错设备名会把电脑硬盘数据全部清空。在Linux下用lsblk查看lsblk输出会列出所有块设备找到对应SD卡容量的那个设备通常是/dev/sdb、/dev/sdc这样的名字。你需要确认设备名建议再用sudo fdisk -l复查一遍看看分区大小和SD卡容量是否一致。在Windows下打开磁盘管理工具或者DiskGenius找到SD卡对应的磁盘号注意看容量和文件系统信息不要选错。确认SD卡设备名后执行分区表清理。这里有两种方案方案一直接用官方镜像整体写入不需要手动分区。这种情况下你不需要清理分区表烧录工具会把镜像完整地覆盖到SD卡上包括分区表本身。方案二如果你要手动构建分区结构比如定制内核启动参数、调整分区大小需要先清空分区表sudo wipefs -a /dev/sdX sudo dd if/dev/zero of/dev/sdX bs1M count16 convfsync第一条命令擦除文件系统签名第二条命令把SD卡开头的16MB清零。注意这里用到的是/dev/sdXX换成你自己的设备字母。这个操作会移除SD卡上所有数据执行前务必确认设备名无误。4.2 第二步用Etcher整体写入官方镜像新手最推荐的方式是用balenaEtcher整体写入完整镜像。Etcher的好处是它在Windows和Linux下都能运行操作逻辑直观写入完成后还会自动做一次校验。操作步骤打开Etcher点击“Flash from file”选择你的RK3588 Ubuntu镜像文件通常是.img后缀也可能是.gz压缩包Etcher自动解压点击“Select target”选择你的SD卡设备点击“Flash”等待写入完成。镜像体积通常在4GB到8GB之间烧录时间取决于SD卡速度和读卡器接口写入完成后Etcher会自动验证。验证通过后安全弹出SD卡然后插入RK3588开发板的SD卡槽。这里有个细节Etcher写入镜像时不会问你分区方案它是全盘镜像写入。这意味着镜像里已经定义好了分区表你不需要手动分区。此时SD卡上的结构是起始区域IDB引导块SPL U-Boot分区1FAT32引导文件内核、dtb分区2EXT4根文件系统这种方式的优点是省心可靠镜像出厂前已经被验证过缺点是如果你想调整EXT4根分区的大小就需要额外操作。这个后续会讲。4.3 第三步检查SD卡分区情况烧录完成后重新插上SD卡或者在当前机器上查看用lsblk -f查看分区结构lsblk -f /dev/sdX你会看到类似这样的输出NAME FSTYPE LABEL UUID MOUNTPOINT sdX ├─sdX1 vfat boot 1234-5678 └─sdX2 ext4 rootfs abcdefgh-...看到vfat和ext4两个文件系统说明镜像写入正常。此时不要手动挂载分区修改内容因为直接修改分区的文件内容可能会和镜像内的校验值不一致。4.4 第四步设置开发板启动模式并插入SD卡RK3588开发板通常有一个启动拨码开关DIP Switch用来控制启动介质优先级。不同厂家板子的拨码含义不同常见的有三种状态eMMC启动模式从板载eMMC启动SD卡启动模式优先从SD卡启动SPI Flash启动模式从板载SPI NOR启动MaskROM模式强制芯片进入下载模式允许USB烧录以市面上常见的RK3588开发板为例通常把拨码拨到SD卡启动的位置即可。部分板子支持自动回退机制——即优先从SD卡启动如果SD卡没有检测到合法引导块自动回退到eMMC。这种设计很实用你平时把SD卡拔掉就能正常从eMMC启动插上SD卡则优先从SD卡系统启动。在插入SD卡之前先连接好串口调试线如果你有的话打开串口终端波特率设置为15000001.5MbpsRK3588的默认串口调试波特率通常是这个值不要用9600否则会输出乱码。这里提个醒很多串口工具默认没有1.5M这个选项你需要手动输入比如minicom用CtrlA然后按Z进入设置或者在picocom命令行参数里指定sudo picocom -b 1500000 /dev/ttyUSB0连接好串口后插上SD卡开发板上电。此时串口终端应该会输出BootROM的初始化信息。4.5 第五步启动过程观察与验证上电后串口输出会依次经历以下几个阶段你可以对照输出判断是否正常BootROM阶段输出类似DDR Version和内存初始化信息U-Boot阶段输出U-Boot SPL、U-Boot 20xx.xx版本信息接着是设备树加载信息内核启动阶段输出Starting kernel ...然后是一大串内核日志系统初始化阶段出现systemd相关的启动日志如果你看到这些输出说明SD卡刷机基本成功。再等一段时间系统会进入登录界面或自动登录进桌面环境。如果串口没有任何输出先检查这几个地方启动拨码是否拨到了SD卡模式SD卡是否被正确识别可以将SD卡插回电脑确认分区没问题串口连接是否接反了TX和RX波特率是否设置正确15000004.6 扩展根文件系统分区官方镜像默认的根文件系统分区往往只用了SD卡的一小部分空间比如64GB的SD卡根分区可能只分配了4GB或8GB。这是为了避免小容量SD卡无法使用镜像但也意味着你白白浪费了大部分空间。启动系统后通过SSH或者串口登录执行df -h查看分区占用Filesystem Size Used Avail Use% Mounted on /dev/mmcblk0p2 7.0G 4.5G 2.1G 69% /看到根分区只有7GB而你的SD卡是64GB那就需要扩容。常用方法是用growpart或者resize2fs。安装工具sudo apt update sudo apt install cloud-guest-utils然后扩展分区sudo growpart /dev/mmcblk0 2 sudo resize2fs /dev/mmcblk0p2第一条命令扩展分区表把分区2扩展到SD卡剩余空间第二条命令扩展文件系统。执行完成后再次df -h你会发现根分区容量已经变成整个SD卡的剩余空间。这里有个容易踩的坑如果你在Linux桌面环境比如Ubuntu Desktop下直接操作SD卡系统可能会自动挂载分区此时growpart会报设备忙。解决办法是先卸载所有分区再操作或者通过Live USB启动电脑在无挂载状态下执行扩容命令。5. 文件系统细节剖析为什么FAT32分区里的文件不能随便删在我做过的多个RK3588实际项目中遇到过不少次“SD卡能启动但系统启动到一半卡死”的情况。排查到最后发现是有人手动挂载了FAT32启动分区删掉了一些看起来“没用”的文件。这个典型问题值得单独拿出来讲。RK3588的FAT32启动分区里通常包含以下几类文件boot.img或Image内核镜像U-Boot根据环境变量booti或bootm命令加载rk3588-evb.dtb、rk3588-board.dtb等设备树文件描述硬件资源布局内核启动初期依赖它来识别板载设备extlinux/extlinux.conf或boot.scrU-Boot启动脚本定义了启动参数、内核镜像路径、设备树路径、根文件系统挂载方式如果你删掉了extlinux.confU-Boot就不知道从哪里加载内核如果把内核镜像文件改名了U-Boot按原来的路径找不到文件会直接跳到下一个启动介质或者挂死。所以我的建议是启动分区里的文件一个都不要动。需要修改启动参数时通过U-Boot环境变量来改不要直接改文件。非要改文件做好备份并且确保对U-Boot的配置机制非常熟悉。再补充一个常见问题为什么有些教程让你把FAT32分区格式化成FAT16这个大多数情况下没必要。RK3588的U-Boot对FAT32支持得很好FAT16的优势在于老旧的嵌入式BootROM兼容性但在RK3588上不存在这种问题。除非你的U-Boot版本特别老否则一律用FAT32。6. 进阶场景自己构建SD卡镜像实现定制化分区如果你已经完成了从官方镜像启动的整套流程在开发板的系统里跑起来了一些基础验证下一步往往就是定制化。很多项目需求是这样的根文件系统里需要预置自己的应用程序、驱动模块、启动脚本甚至要修改内核配置。这时候就需要自己构建SD卡镜像。构建自定义SD卡镜像的基本流程分四步第一步准备分区表。用fdisk或gdisk在SD卡上创建MBR分区表。划分三个区域IDB引导区不需要分区、FAT32引导分区建议512MB到1GB、EXT4根文件系统分区剩余全部空间。具体命令示例sudo fdisk /dev/sdX在fdisk交互界面中依次执行o创建新的MBR分区表n新建第一个分区按默认起始扇区设置大小1G然后t将类型改为cW95 FAT32LBAn新建第二个分区剩余空间全部分配类型保持默认Linuxw写入并退出然后格式化sudo mkfs.vfat -F 32 -n boot /dev/sdX1 sudo mkfs.ext4 -L rootfs /dev/sdX2第二步写入IDB引导块。这里需要用到Rockchip提供的工具。最简单的做法从官方镜像中提取IDB区域用dd按偏移写入SD卡。提取并写入的参考命令# 假设官方镜像是rk3588-image.img # 从官方镜像中读取IDB区域不同的SDK生成的偏移可能不同通常起始于0长度约32MB sudo dd ifrk3588-image.img of/dev/sdX bs512 seek64 skip64 count65536 convfsync这里有个进阶玩法如果你自己编译了U-Boot可以用Rockchip的tools/mkimage生成idbloader.img然后写入SD卡的偏移地址。具体偏移值需要在U-Boot源码的配置中查看不同芯片略有差异RK3588的典型配置在include/configs/rk3588_common.h里可以找到。第三步拷贝引导文件到FAT32分区。挂载FAT32分区把内核镜像Image、设备树文件.dtb、启动脚本extlinux/extlinux.conf拷贝进去。关键是要确保extlinux.conf里指定的路径和文件名与实际情况一致。一个标准的extlinux.conf内容如下label kernel kernel /Image fdt /rk3588-evb.dtb append root/dev/mmcblk0p2 rootfstypeext4 rw rootwait consolettyFIQ0,1500000n8注意这里的consolettyFIQ0,1500000n8是RK3588串口调试的典型配置。如果你用其他串口接口可能需要改成ttyS0等。第四步解压根文件系统到EXT4分区。挂载EXT4分区把Ubuntu根文件系统通常是一个压缩包解压进去sudo mkdir /mnt/rootfs sudo mount /dev/sdX2 /mnt/rootfs sudo tar -xpf ubuntu-rootfs.tar.gz -C /mnt/rootfs sudo sync sudo umount /mnt/rootfs这里提醒几点解压时用-p参数保留文件权限否则系统启动后各种权限问题表现为部分服务无法启动、Sudo不能用等如果你用的根文件系统没有预装引导加载所需的firmware启动过程可能卡在GPU或NPU初始化阶段解压完成后最好检查一下/etc/fstab确认根文件系统挂载参数是否指向/dev/mmcblk0p2完整的自定义镜像构建流程涉及内容更多这里只给到总纲。核心思路是掌握“IDB写入-引导文件放置-根文件系统部署”三段式流程剩下的就是不断试验和调试。7. 常见问题与排查技巧实录结合我在多个RK3588项目中的调试经验把最高频的问题和排查思路整理成一份速查表。这些基本上都是实战中真正会遇到的。7.1 启动后串口无任何输出可能原因启动拨码没设对、SD卡接触不良、BootROM没检测到SD卡、串口线连接错误。排查步骤确认开发板在SD卡插入状态下是否比未插入时有丝毫差异比如指示灯状态变化重新插拔SD卡确认完全插入用万用表或换一根SD卡试一下排除SD卡损坏确认串口TX/RX是否接反部分串口模块需要交叉连接单独用USB线连接电脑尝试用RKDevTool进入MaskROM模式如果能识别到设备说明芯片本身正常问题在启动配置7.2 U-Boot启动后找不到内核串口输出最后几行通常是从mmc 0读取分区失败或者提示找不到Image文件。这种问题八成是FAT32分区里的文件缺失或者文件名大小写不对。RK3588的U-Boot默认对文件名大小写敏感而Linux下创建文件经常用小写如果官方镜像用的是大写文件名对齐一下即可。解决思路挂载FAT32分区检查文件是否存在比对extlinux.conf中写的路径与实际情况是否一致。7.3 内核启动到一半卡死日志停在DRAM或设备初始化这通常是设备树文件dtb与硬件不匹配导致的。比如你用了EVB开发板的dtb但实际跑的是自己画的板子外设引脚定义不同内核初始化某个外设时挂起。处理方式重新编译设备树或者换用厂商提供的与你硬件最接近的dtb。这种问题没有快捷方法需要对照原理图逐一核对。7.4 根文件系统挂载失败日志里出现VFS: Unable to mount root fs说明内核找到了分区但无法识别文件系统。常见原因是EXT4分区没有正确格式化或者内核缺少EXT4驱动这种情况较少见。解决办法把SD卡插回电脑确认根分区文件系统确实是ext4如果格式不对就重新格式化并重新解压根文件系统。7.5 SD卡启动后系统内看到的分区容量不对我之前接了一个项目客户反馈说64GB的SD卡启动后根分区只有8GB问是不是SD卡是假的。解释一下这是官方镜像固定的分区大小不是SD卡问题。用前面提到的growpart和resize2fs就能扩开。7.6 启动自定义镜像时遇到“DTC: unittests:..”这个错误通常出现在内核与设备树版本不匹配的场景。U-Boot在加载dtb时会做语法校验如果dtb是在新版本内核中编译出来的而U-Boot版本较老可能无法识别某些新属性节点。升级U-Boot版本或者用旧版本内核重新编译dtb可以解决。8. SD卡选型与硬件层面的避坑心得聊完了软件层面的刷机流程最后再花点篇幅说说硬件选型。很多人轻视SD卡的物理质量结果系统运行一段时间就出现文件系统损坏、偶尔启动失败——几乎都是卡的问题。第一容量选择RK3588的根文件系统Ubuntu Desktop占空间至少4GB加上内核、引导分区和日常缓存16GB只能算入门32GB是舒服起步64GB以上用起来才从容。如果你要在板子上跑YOLOv8模型推理、部署一些深度学习环境128GB都不嫌多。第二速度等级认准C10Class 10和U3这两个标识。U1速度的卡在启动时明显卡顿进入系统后IO等待时间高用起来很不爽。如果有条件选择A2标识的卡随机读写性能更好对系统反应速度提升明显。第三品牌选择这一条是经验之谈。SD卡市场水很深杂牌卡即使标称容量正常顺序写速度也可能非常慢甚至出现“写到一半坏块”的情况。建议选择正规渠道的闪迪、三星、铠侠等品牌卡。不用追求极致速度工业级SD卡在大多数开发场景下没有必要消费级的高端卡足够稳定。第四关于TF卡转SD卡套RK3588开发板绝大多数使用标准SD卡槽但部分紧凑型板子会用TF卡槽。如果你用的是TF卡卡套方案注意卡套的金属触点质量和卡入后的贴合度。劣质卡套会造成接触不良表现为“启动几次成功几次失败”这种问题排查起来非常消耗时间。最后再说一个容易忽略的点板卡长期运行后SD卡温度。RK3588是高性能芯片满负载运行时机身温度不低长时间高温会加速SD卡老化甚至导致数据丢失。如果你的设备是7x24小时运行建议优先考虑把系统部署到eMMC或NVMeSD卡仅作为临时调试介质使用。9. 后续还能怎么扩展从SD卡系统到eMMC系统的一键迁移当你用SD卡把系统调通之后一个自然的想法是能不能把SD卡上的系统直接搬到eMMC上让板卡不再依赖SD卡启动当然可以。传统做法是用dd把SD卡整个镜像导出再通过RKDevTool烧录到eMMC。但实际上有一种更简洁的方式启动SD卡上的系统后将eMMC设备挂载如果eMMC为空先分区格式化然后用rsync将根文件系统同步过去# 在SD卡系统里操作 sudo mount /dev/mmcblk1p2 /mnt/emmc-rootfs sudo rsync -aH --exclude/mnt/emmc-rootfs/* --exclude/proc/* --exclude/sys/* --exclude/dev/* --exclude/tmp/* / /mnt/emmc-rootfs/然后安装引导加载程序到eMMC# 需要U-Boot工具和Rockchip的引导写入工具 # 具体命令取决于你使用的工具链同步完成后把启动拨码切回eMMC启动模式拔掉SD卡重新上电系统就从eMMC启动了。这种方式的优势是不需要维护两套镜像你后续对系统的所有修改都在SD卡系统里完成定期同步到eMMC即可。这个方法折腾过几次之后你会发现SD卡就像是一个“开发调试空间”eMMC则是“正式部署空间”。两者配合使用开发效率会高很多。RK3588的SD卡刷机本身并不复杂但知识点比较分散。从BootROM的引导逻辑到FAT32和EXT4的分工再到具体的烧录工具和常见问题排查每块内容单独看都不难合在一起就容易让人迷失。这篇文章从启动链路讲起把完整流程拆解了一遍希望对你实际开发有所帮助。我做过的项目中只要前面的文件系统规划和启动链路理解到位了后续的调试基本都是一路顺畅。
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

glog 输出行为调优:flags.md 全解 —— 命令行参数、环境变量与程序内动态控制 2026/9/28 17:26:43

glog 输出行为调优:flags.md 全解 —— 命令行参数、环境变量与程序内动态控制

后端 【免费下载链接】glog C implementation of the Google logging module 项目地址: https://gitcode.com/gh_mirrors/glog6/glog 点击查看 免费下载 glog(Google Logging Library)作为 C14 实现的流式日志库,其输出行为的控制…

阅读更多 →
Agent-Native架构实战:从工具调用到原生智能体的设计指南 2026/9/28 17:26:43

Agent-Native架构实战:从工具调用到原生智能体的设计指南

1. 从“工具调用”到“原生智能体”:agent-native 到底在说什么第一次听到 “agent-native” 这个词,是在和几个做 AI 应用的朋友闲聊时。有人抛出一句:“现在做产品,如果不按 agent-native 的思路来设计,基本等于白做…

阅读更多 →
顺易教育规模怎么样,服务体系完善吗 2026/9/28 17:26:43

顺易教育规模怎么样,服务体系完善吗

时光倏忽,九年一瞬。艺考升学赛道里,无数教育机构起起落落,山东顺易教育科技集团有限公司始终扎根济南本土,在艺考生文化课辅导这片细分领域稳扎稳打,从最初的小体量工作室,成长为覆盖初高中艺术升学全阶段…

阅读更多 →
金融级系统设计必修课:幂等、金额精度与高可用实践 2026/9/28 17:26:43

金融级系统设计必修课:幂等、金额精度与高可用实践

1. 为什么金融服务的"服务"二字没那么简单前阵子一个做支付网关的朋友半夜打电话给我,说渠道回调丢了,用户显示已付款,但他们的系统里订单还是待支付状态。我让他先别急着补单,把请求日志和数据库流水拉出来对一遍。查了…

阅读更多 →
FPGA软核处理器MicroBlaze实战:从搭建到固化全流程 2026/9/28 17:26:43

FPGA软核处理器MicroBlaze实战:从搭建到固化全流程

1. 为什么软核处理器值得花时间啃下来做FPGA开发的朋友多半有过这样的纠结:逻辑代码写完了,时序也收敛了,但一涉及到系统控制、协议调度、人机交互这些“带脑子”的活儿,纯硬件状态机就显得捉襟见肘。这时候MicroBlaze这类软核处理…

阅读更多 →
Agent-Native CLI设计指南:从CLI-Hub到结构化输出与幂等性实践 2026/9/28 17:26:36

Agent-Native CLI设计指南:从CLI-Hub到结构化输出与幂等性实践

1. 从"CLI-Anything"说起:命令行工具正在经历一场静默革命第一次看到"CLI-Anything"这个说法,我脑子里蹦出来的不是某个具体工具,而是一种趋势判断——命令行界面正在从"人机交互的原始形态"变成"智能体与…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉