今天主要给大家讲讲S5PV210的启动过程:
首先认识几个概念:
ROM:具体定义大家网上搜,到处都是,我从实用的角度来解读一下ROM的用处,以及ROM的扩展应用。ROM是只读存储器,ROM里的数据在CPU运行起来的时候是没办法去更改的,只能够进行读取。这部分不是arm公司设计的,而是有像三星这样的公司设计的。虽然是只读存储器,但里边的程序是哪来的?答案是:它是事先烧录进去的,而且烧录过程比较复杂,需要专门的额烧录电路与烧录器。S5PV210里有IROM,这里边存储的就是引导启动的代码。这个代码是三星事先烧录好的,你想破坏这里的程序,让开发板变砖,想办法破坏IROM就好。
步骤:
第一步,关闭开门狗,应该系统上电默认开门狗寄存器是打开的,如果不关闭开门狗,还没等到系统跑起来去“喂狗”,系统就会出现不停的复位,导致,系统无法启动。
第二步,初始化高速缓冲器。由于我们RAM,DRAM这些存取访问速度都不如CPU的速度快,所以会在CPU与RAM之间加一级高速缓冲器,将RAM中的数据读取到高速缓冲器中,一下可以读取内存RAM指令中的附近几条,这样CPU不会在处理指令时,速度会被RAM的访问速度给限制了。
第三步,初始化栈。
第四步,初始化堆。
第五步,初始化BLOCK,COPY功能。
第六步:初始化PLL和系统时钟。
第七步:把BL1中的数据复制到RAM中。
第八步:检查核实BL1的数据,如果数据不对, 就会准到通道2进去。
第九步:检查是否为安全安全模式。
第十步:跳转到BL1的开始地址。
RAM:可读可写存储器。