ROC-RK3308B-CC 有着非常灵活的启动方式。一般情况下,除非硬件损坏,ROC-RK3308B-CC 主板是不会变砖的。
如果在升级过程中出现意外,bootloader 损坏,导致无法重新升级,此时仍可以进入MaskRom模式来修复。
ROC-RK3308B-CC 有 32KB 的 BootRom 和 256KB 的内部 SRAM,支持从以下设备加载系统:
8位 Async Nand Flash
8位 toggle Nand Flash
SPI 接口
eMMC 接口
SDMMC 接口
启动的次序是这样的:
主控上电初始化
BootRom 代码在 SRAM 上运行,校验存储设备里的 bootloader
校验通过,加载并运行 bootloader 引导代码
bootloader 引导代码负责初始化 DDR 内存,加载 bootloader 完整代码到 DDR 内存中并运行
bootloader 加载存储设备上的 Linux 内核,并将执行权交给 Linux 内核
ROC-RK3308B-CC 有四种启动模式:
Loader 模式
MaskRom 模式
Recovery 模式
Normal 模式
Loader 模式下,可以进行固件的烧写、升级。可以通过工具单独烧写某一个分区镜像文件,方便调试。
要进入 Loader 模式,必须让 bootloader 在启动时检测到RECOVERY(恢复)键按下,且 OTG (Type-C接口)处于连接状态,方法是:
设备先断开电源。
USB Type-C 线一端的USB 2.0接口先连接主机。
按住设备上的 RECOVERY (恢复)键并保持。
USB Type-C 的另一端 Type-C 接口连接设备。
大约两秒钟后,松开 RECOVERY 键。
Flash 在未烧录固件时,芯片会引导进入 Maskrom 模式,可以进行初次固件的烧写;开发调试过程中若遇到 Loader 无法正常启动的情况,也可进入 Maskrom 模式烧写固件
MaskRom 模式多用于 bootloader 损坏时的系统修复。
一般情况下是不用进入 MaskRom 模式的,只有在 bootloader 校验失败(读取不了 IDR 块,或 bootloader 损坏) 的情况下,BootRom 代码 就会进入 MaskRom 模式。此时 BootRom 代码等待主机通过 USB 接口传送 bootloader 代码,加载并运行之。
系统引导 recovery 启动,主要作用是升级、恢复出厂设置类操作。
系统引导 rootfs 启动,加载 rootfs,大多数的开发都是在这个模式在调试的。
全部0条评论
快来发表一下你的评论吧 !