S5PV210的启动详解2

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)

  1. Disable the Watch-Dog Timer
  2. Initialize the instruction cache
  3. Initialize the stack region (see “memory map” on chap 2.5)
  4. Initialize the heap region. (see “memory map” on chap 2.5)
  5. Initialize the Block Device Copy Function. (see “Device Copy Function” on chap 2.7)
  6. Initialize the PLL and Set system clock. (see “clock configuration” on chap 2.11)
  7. Copy the BL1 to the internal SRAM region (see “Device Copy Function” on chap 2.7)
  8. Verify the checksum of BL1.
    If checksum fails, iROM will try the second boot up. (SD/MMC channel 2)
  9. 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.
  10. Jump to the start address of BL1

翻译如下:

  1. 关闭看门狗定时器

  2. 初始化 指令高速缓冲存储器

  3. 初始化栈区

  4. 初始化堆区

  5. 初始化块设备复制函数

  6. 初始化锁相环并设置系统时钟

  7. 将BL1复制到内部SRAM(iRAM)区域

  8. 验证BL1的校验和
    如果校验和失败,iROM将尝试第二次启动

  9. 检查是否是安全启动模式
    如果安全密钥写入了S5PV210,那么它是安全启动模式
    如果是安全启动模式,则验证BL1的完整性

  10. 跳转到BL1的起始地址

2.3启动引导图

V210 boot-up diagram

S5PV210的启动详解2_第1张图片

启动介质的启动顺序

下面这张图描述了启动介质的启动顺序,当USB启动作为最后一次的启动介质启动失败时,Bootstop ,就彻底失败了
S5PV210的启动详解2_第2张图片

IROM启动模式的特性

S5PV210的启动详解2_第3张图片

以下几点是值得注意的:

  1. 当系统处于唤醒状态的时候只可以直接唤醒的,无需重复启动
  2. 原理图来看,这里的OMpin设置的SD卡或eMMC启动是从SD0启动的
  3. S5PV210是通过OMpin 来选择第一次(1st) 启动介质的,也就是开发板上的SD0,当第一次启动失败时,2nd启动无法选择启动介质,只能是从SD/MMC的第二通道启动,因此,我们如果想让S5PV210芯片从SD2启动,我们务必将 emmc 中已存在的 bootloader 破坏掉!
    S5PV210的启动详解2_第4张图片S5PV210的启动详解2_第5张图片

下面来看一下九鼎创展的开发板使用手册,对照Application Note来看一下这个开发板是如何设置启动介质的

S5PV210的启动详解2_第6张图片
OM[5:0]引脚应直接与VDDSYS或GND连接,它的目的是在进入休眠模式时将泄漏电流降到最低。但如果你必须有一个选择,你应该在它们间增加一个100KΩ以上的上拉或下拉电阻S5PV210的启动详解2_第7张图片

注:以上内容参考了 朱有鹏老师的PPT和文档

你可能感兴趣的:(嵌入式linux学习笔记)