嵌入式分享#37:RK3576 板子变砖?先搞懂 Maskrom 和 Loader 的区别!
正文RK3576 有两种模式烧写系统,能不能去掉其中一个?搞清楚下面两个问题,你自然会有答案。1 Maskrom 和 Loader 有什么区别?2 为什么需要两种模式?
正文
欢迎关注公众号“嵌入式分享”,持续更新!☞
RK3576 有两种模式烧写系统,能不能去掉其中一个?搞清楚下面两个问题,你自然会有答案。
1 Maskrom 和 Loader 有什么区别?
2 为什么需要两种模式?
1 Maskrom 和 Loader 有什么区别?
(1)触发阶段不同
- Maskrom
Maskrom全称为 Mask Read-Only Memory,即掩膜只读存储器。在 SOC 芯片制造过程中,RK 原厂会通过掩膜工艺将启动代码(即 BootROM)固化到芯片内部的只读存储区域。前面我们讨论过进入 Maskrom模式的工作原理, BootROM 内部有实现让芯片进入 Maskrom 模式的代码。可见,Maskrom 模式的触发阶段处于 BootROM。
- Loader
Loader,即加载器。从命名的角度大致可以猜到 Loader 模式的触发阶段是处于Bootloader(即U-Boot)阶段。
为了让大家更清晰了解它们触发时系统所处的不同阶段,看下图标注。

(2)适用场景不同
正是由于它们触发所处的阶段不同,决定它们适用的场景不同:
Maskrom模式:适用于板卡未烧录系统或烧录的系统损坏无法运行等几乎所有情况,是一种底层的、兜底的修复模式。Maskrom 模式处在 BootROM 阶段,因此是无法进行分区镜像单独烧写的。

Loader 模式:适合系统能够正常运行(至少到 uboot 阶段是正常的),只需要进行常规升级或单独烧写某一个分区镜像文件等场景。
也就是说,只要系统能正常运行,Loader 模式都可以实现分区镜像文件单独烧写。

下面给出 RK 平台进入烧写模式方式的几种方法:
(1)未烧录过固件,上电,进入 Maskrom 模式。
(2)烧录过固件,按住 recovery 按键上电或复位,系统将进入 Loader 固件烧写模式。
(3)烧录过固件,按住 Maskrom 按键上电或复位,系统将进入 MaskRom 固件烧写模式。
(4)烧录过固件,上电或复位后开发板正常进入系统后,瑞芯微开发工具上显示“发现一个 ADB设备”或“发现一个 MSC 设备”,然后点击工具上的按钮“切换”,进入 Loader 模式。
(5)烧录过固件,可在串口或 ADB 命令行模式下,输入 reboot loader 命令,进入 Loader 模式。
2 为什么需要两种模式?
总体来说,有下面几个因素:
安全隔离:MaskRom作为“最后防线”,与 Loader 模式分离可避免用户误操作导致硬件级损坏。
效率优化:Loader 模式依赖已初始化的bootloader,若bootloader损坏则无法进入,此时MaskRom提供兜底方案。
功能专注:Loader 专注于用户数据维护,MaskRom专注硬件级修复,分工明确降低系统复杂度。
3 结尾
现在,回到文章开头的问题相信你已有答案。
两种模式都保留,硬件设计本质就是一个按键电路的差异,几乎不耗资源和空间。
如你的产品要求非常精简,可以考虑省掉 Recovery 按键电路,因为 Loader 模式除了可以通过Recovery 按键电路硬触发外,还可以通过软触发——只要 uboot 正常运行都可以通过命令 “reboot loader ”进入 Loader 模式烧写。
(完)
欢迎关注公众号“嵌入式分享”,持续更新!☞
openvela 操作系统专为 AIoT 领域量身定制,以轻量化、标准兼容、安全性和高度可扩展性为核心特点。openvela 以其卓越的技术优势,已成为众多物联网设备和 AI 硬件的技术首选,涵盖了智能手表、运动手环、智能音箱、耳机、智能家居设备以及机器人等多个领域。
更多推荐

所有评论(0)