TQ210——S5PV210启动过程

TQ210——S5PV210启动过程

1S5PV210内存地址映射

TQ210——S5PV210启动过程_第1张图片TQ210——S5PV210启动过程_第2张图片

    S5PV210 含有一个大小为64KB的IROM,起始地址为0xD0000000,结束地址为0xD000FFFF;含有一个大小为96KB的 IRAM,起始地址为0xD0020000,结束地址为0xD0037FFF;内存起始地址为0x20000000,有二个内存块,DRAM0 和 DRAM1 大小分别为 512MB、 1024MB。

 

2S5PV210启动流程分析

 SRAM:0XD0020000

 S5PV210启动过程主要可分为 3 个阶段

TQ210——S5PV210启动过程_第3张图片

    ① S5PV210 上电复位后执行已固化的启动代码 BL0。

    ② 在 BL0 初始化过程中,对启动设备进行判断,并从启动设备拷贝 BL1 (最大 16KB )到 IRAM 处,即刚才所说的 0xD0020000 开始的地址,其中 0xD0020000~0xD0020010 的 16 字节为 BL1 的校验信息和 BL1 尺寸,并对 BL1 进行校验,校验通过转入 BL1 进行执行, BL1 继续初始化,并拷贝 BL2(最大 80KB)到 IRAM 中并对其校验,通过后转入 BL2。

    ③ BL2 完成一些比较复杂的初始化,包括 DRAM 的初始化,完成后将 OS 代码拷贝到 DRAM 中,并跳到 OS 中执行并完成启动引导[11]。

    BL0 固化代码主要完成以下初始化:

    ① 关闭看门狗;

    ②初始化 Icache和Dcache;

    ③ 初始化堆栈;

    ④ 设置系统时钟;

    ⑤ 初始化块设备拷贝功能;

    ⑥ 拷贝 BL1 到 iRAM;

检查 BL1 的校验和,校验成功,则跳到 0xD0020000(IRAM)处执行。其中 0xD0020000 ~ 0xD0020010 里的 16 字节头部信息是什么呢?

 16 字节头部信息: 地址内容

     0xD002_0000 BL1 的大小

     0xD002_0004 写0

     0xD002_0008 CheckSum

     0xD002_000C 写0

 

你可能感兴趣的:(ARM,TQ210——裸机编程)