三星S5PV210基于A8内核,是arm v7体系,广泛应用于手机和平板解决方案中。市场上也有很多基于S5PV210芯片的开发板(如smart210, gec210等),用于学习高级ARM体系编程。S5PV210跟S5PC11X基本一致,很多人认为两者是同样的SOC,只不过是封装不同,事实上,两者确实略有不同。跟S5PC11X相比,S5PV210没有内置16MSRAM和电源管理模块,解码能力也有些许不同。但从软件使用的角度,两者在内核体系、集成模块、管脚封装上确实有很大的相似性,以致UBOOT在命名上看来,其只支持S5PC11X,但事实上,将支持S5PC11X的UBOOT移植支持S5PV210的工作量相当小。主要的工作就是将16M的SRAM和PMIC初始化支持注释掉。从本篇博文开始,详细讲解S5PV210的启动过程,下面阐述启动的第一个阶段--IROM的BL0启动。
嵌入式启动之二:资源宽裕型嵌入式系统已经说明内存资源宽裕型系统的一般启动过程。S5PV210属于这一类系统,外挂SDRAM内存和NAND、SD卡等外存设备,系统和应用代码等作为固件存放在外存设备中,并通过S5PV210内置的IROM启动并逐步引导到SDRAM中。S5PV210的SPEC是《S5PV210_UM_REV1.1.pdf》,在其第29页~30页中描述了IROM和IRAM的内存映射图。IRAM,即内置RAM,在启动引导阶段有两个作用:一是IROM运行时使用的数据变量所在的区域,二是IROM,即BL0会将外存中的BL1引导到该区域中。因为IROM启动运行的时候,外置SDRAM还没有初始化好,而IRAM是可用的,因此必须要把BL1加载到IRAM中运行,由BL1对SDRAM进行初始化。IROM为什么不初始化SDRAM呢&#x