RK3399有三种启动模式:
Normal 模式
Loader 模式
MaskRom 模式
Normal 模式
Normal 模式就是正常的启动过程,各个组件依次加载,正常进⼊系统。 金属包覆垫片
这个模式⽆法刷固件, ⼀般板⼦通电就是这个模式。
Loader 模式
在 Loader 模式下,bootloader 会进⼊升级状态,等待主机命令,⽤于固件升级等。
天燃气燃烧机
要进⼊ Loader 模式,必须让 bootloader 在启动时检测到 RECOVERY(恢复)键按下,且 USB 处于连接状态。
PS:
⼤多数嵌⼊式处理器都有在处理器内部有固化代码(ROM),这个代码可以把bootloader从处理器指定的地⽅(⼀般是flash,SD卡,USB 等)加载到内存,然后跳到bootloader开始执⾏。或者把nor flash的地址映射到处理器的RESET地址直接执⾏nor flash中的代码 Bootloader多数有两个阶段的启动过程:
Stage1:
基本的硬件初始化
为加载stage2准备RAM空间
拷贝内核映像和⽂件系统映像到RAM中
设置堆栈指针sp
跳到stage2的⼊⼝点
Stage2:
初始化本阶段要使⽤到的硬件设备
检测系统的内存映射
加载内核映像和⽂件系统映像
设置内核的启动参数
嵌⼊式系统中⼴泛采⽤的⾮易失性存储器通常是 Flash,⽽ Bootloader就位于该存储器的最前端,所以系统上电或复位后执⾏的第⼀段程序便是 Bootloader。
甘汞电极MaskRom 模式
MaskRom 模式⽤于 bootloader 损坏时的系统修复。
⼀般情况下是不⽤进⼊ MaskRom 模式的,只有在 bootloader 校验失败(读取不了 IDR 块,或 bootloader 损坏) 的情况
下,BootRom 代码 就会进⼊ MaskRom 模式。此时 BootRom 代码等待主机通过 USB 接⼝传送 bootloader 代码,加载并运⾏之。
焙烧回转窑如果开发板上电后遇到以下情况之⼀:
eMMC 内容为空。
eMMC 上的 bootloader 损坏。
将 eMMC 数据/时钟引脚接地,eMMC读取数据失败。(所以硬件设计要预留eMMC clock PIN⽤于进⼊MaskROM模式 )
CPU 在 eMMC 中就会不到有效的 IDB (IDentity Block),转⽽执⾏⼀段⼩型的 ROM 代码,等待主机通过 USB 上传 bootloader 来初始化 DDR 内存并进⼊升级状态。这种模式称为 Maskrom 模式 。
RK3399 eMMC硬件设计原理图
eMMC 芯⽚介绍
飞盘制作
RK3399 eMMC 控制器介绍
密钥索引
参考原理图
RK3399 PCB 设计要点