天天看点

S5PV210的启动过程

S5PV210启动方式

有IROM,且只能从IROM启动,不再支持原来的直接从外部介质启动方式。

IROM代码(BL0)运行完毕后,根据OM[5:0]确定外部启动介质(BL1和BL2)完成启动。S5PV210支持的外部启动介质包括:NAND Flash、OneNAND、SD/MMC、eMMC、eSSD、UART/USB。

BL0

1. 关看门狗

2. 初始化指令cache

3. 初始化栈(stack)

4. 初始化堆区(heap)

5. 初始化块设备拷贝函数(IROM自带各种块设备读取函数,详见IROM application note). 

6. 初始化PLL并设置系统时钟. 

7. 拷贝BL1到SRAM

8. 检测BL1校验和,若校验失败则尝试从第二启动设备(SD/MMC通道2)启动。. 

9. 检测是否为安全启动模式。如果是安全启动模式,检查BL1的校验和。

10. 跳转到BL1继续执行。

BL1

1、判断复位模式是否为deep idle或sleep。若是则直接跳转到BL2继续执行。

2、若复位模式不是deep idle或sleep,则加载BL2到SRAM。

3、检查是否为安全启动模式。若是,则检测BL2的校验和是否正确。若否则直接跳转到BL2执行。

4、BL2校验校验正确,则跳转到BL2执行,否则Boot失败,结果boot流程。

BL2

1、判断复位模式是否为deep idle或sleep。若是则直接跳转到DRAM继续执行。

2、初始化DRAM

3、加载OS代码到DRAM

4、跳转到DRAM运行

UART /USB启动模式

OM[5:4] = 0b10即可选择UART/USB启动模式此时IROM代码运行完毕后,会先尝试从UART 启动,若失败则会尝试从USB启动。若失败则会根据OM[3:0]选择相应的启动介质再次尝试启动。

UART启动时,必须在S5PV210上电前将串口连接好,上位机使用dnw工具来发送启动代码可执行文件。本教材中使用USB启动方式作为调试,因此不详细探讨UART启动方式。

1、USB启动方式必须借助dnw工具,教材中使用dnw v0.60c。

2、打开dnw软件,将dnw中USB下载地址设置为0xd0020010。

3、复位开发板。

4、若是初次使用则Windows会弹出发现新硬件图标,索引安装开发板dnw USB驱动即可。若已经安装驱动,则dnw会显示USB:OK,表示USB连接已经成功。

5、dnw菜单中USB Port->Transmit,选择编译好的bin文件即可。USB download完成后S5PV210会即刻跳转到0xd0020010处执行。

继续阅读