S5PC100 启动过程简单分析

来源:互联网 发布:大单托底又不拉升 知乎 编辑:程序博客网 时间:2024/04/29 05:50

     

S5PC100处理器采用64位内部总线构架,包括强大的硬件加速器,具有更高的主频和更丰富外设,能适用于对性能和处理能力有更高要求的嵌入式系统应用场合。S5PC100的支持多种启动方式:NAND、SD/MMC、OneNAND、NAND与USB等。流程图大致如下: 

 

      从上图可以看出,整个其他过程分为两个阶段:BL0,BL1。

第一阶段:CPU上电后从内部ROM开始执行,在内部ROM有第一个引导程序BL0,BL0从系统指定的外部启动器件(NAND、SD/MMC、OneNAND、NAND与USB)中加载第二个引导程序BL1到内部RAM,同时对BL1进行安全校验。

第二阶段:BL1初始化DRAM控制器,即初始化内存,然后从外部启动器件(NAND、SD/MMC、OneNAND、NAND与USB)中加载OS IMAGE 文件到DRAM中,同时对OS IMAGE进行安全校验,如果正确就引导系统启动。

       在S5PC100的文档上大致是这么说的,我用的是S5PC100评估板。它的其他方式大概和上述相同:CPU上电,BL0从NAND(NAND 启动方式)的BLOCK0中加载STEPLDR.BIN到RAM,STEPLDR初始化CPU后再从NAND 中加载EBOOT.BIN到DRAM即内存中;EBOOT.BIN会进一步其他的初始化操作,比如串口等;最后EBOOT.BIN加载OS image 文件到DRAM中,进而引导系统启动。

        在整个启动过程中用到了三个引导文件:

        ROM中的引导文件(但是不知道具体是什么,应该是CPU自带的启动文件,那位知道介绍一下);

        STEPLDR.BIN:引导EBOOT的,该文件被ROM内部的引导文件加载到CPU内部RAM中,这个文件比较小,只有3,4K左右,而已S5PC100的内部RAM为96K,完全没问题。

        EBOOT.BIN:这个就不用多说了,做过wince的都知道。

        由于能力有限,上述分析也许有误,还望高手指点。

原创粉丝点击