S5PV210的启动详解2
上一篇启动详解1我们介绍到了S5PV210_IROM_APPLICATION NOTE_REV 0.3
的2.1节 启动顺序(Operating Sequence )
下面我们来详细的看一下iROM执行BL0时具体做了哪些初始化
2.2 iROM(BL0) boot-up sequence (Refer 2.3 V210 boot-up diagram)
- Disable the Watch-Dog Timer
- Initialize the instruction cache
- Initialize the stack region (see “memory map” on chap 2.5)
- Initialize the heap region. (see “memory map” on chap 2.5)
- Initialize the Block Device Copy Function. (see “Device Copy Function” on chap 2.7)
- Initialize the PLL and Set system clock. (see “clock configuration” on chap 2.11)
- Copy the BL1 to the internal SRAM region (see “Device Copy Function” on chap 2.7)
- Verify the checksum of BL1.
If checksum fails, iROM will try the second boot up. (SD/MMC channel 2) - Check if it is secure-boot mode or not.
If the security key value is written in S5PV210, It’s secure-boot mode.
If it is secure-boot mode, verify the integrity of BL1. - Jump to the start address of BL1
翻译如下:
-
关闭看门狗定时器
-
初始化 指令高速缓冲存储器
-
初始化栈区
-
初始化堆区
-
初始化块设备复制函数
-
初始化锁相环并设置系统时钟
-
将BL1复制到内部SRAM(iRAM)区域
-
验证BL1的校验和
如果校验和失败,iROM将尝试第二次启动。 -
检查是否是安全启动模式
如果安全密钥写入了S5PV210,那么它是安全启动模式
如果是安全启动模式,则验证BL1的完整性 -
跳转到BL1的起始地址
2.3启动引导图
V210 boot-up diagram
启动介质的启动顺序
下面这张图描述了启动介质的启动顺序,当USB启动作为最后一次的启动介质启动失败时,Bootstop ,就彻底失败了
IROM启动模式的特性
以下几点是值得注意的:
- 当系统处于唤醒状态的时候只可以直接唤醒的,无需重复启动
- 从原理图来看,这里的OMpin设置的SD卡或eMMC启动是从SD0启动的
- S5PV210是通过OMpin 来选择第一次(1st) 启动介质的,也就是开发板上的SD0,当第一次启动失败时,2nd启动无法选择启动介质,只能是从SD/MMC的第二通道启动,因此,我们如果想让S5PV210芯片从SD2启动,我们务必将 emmc 中已存在的 bootloader 破坏掉!
下面来看一下九鼎创展的开发板使用手册,对照Application Note来看一下这个开发板是如何设置启动介质的
OM[5:0]引脚应直接与VDDSYS或GND连接,它的目的是在进入休眠模式时将泄漏电流降到最低。但如果你必须有一个选择,你应该在它们间增加一个100KΩ以上的上拉或下拉电阻
注:以上内容参考了 朱有鹏老师的PPT和文档