IROM发动(internal ROM Booting),IROM发动是指从OneNAND、SD/MMC卡和NANDFlash存储设备发动的方法,见下图,描绘了6410支撑的发动形式。
图1
1.IROM发动方法的图解
图2
上图的发动流程依据进一步细化为下面的流程,结合图1和图2了解:
1)处理器上电后,当OM[4:1]=1111时,履行6410芯片中IROM的发动代码(bootcodes),这个发动代码称为BL0,它详细会做一些初始化的作业,初始化system clock, D-TCM, devicespecific controller and booting device。
2)依据GPN[15:13]管脚的设置,假如是图1中标识的NAND发动介质,则GPN[15:13]=101,这样BL0就会从BL1中读取前4KB的程序,也便是从NAND的第0个block中读取第0和第1页这4KB的程序到SteppingStone的(0x0C000000)地址内存处运转,这4KB的程序(在Real6410开发板中式nbl.nb1,巨细为4KB)是去掉.rdata部分的镜像文件。
3)BL1的这4K程序,能够初始化体系时钟,UART,SDRAM等设备,然后复制Bootloader2(BL2)到SDRAM的(0x800000000)地址内存处。
4)然后跳转到SDRAM中的BL2持续运转,BL2支撑更强壮的功用,在此开发板规划中,BL2复制eboot到SDRAM的(0x8003000)地址内存处。
5)接着跳转到SDRAM中的eboot中持续运转,其间eboot进一步初始化硬件和把WINCE内核镜像复制到SDRAM的(0x80100000)地址内存处
6)最好在SDRAM中开端履行NK。
在上面整个发动的过程中,IROM是最早被运转的,它会首要做一些初始化,详细IROM的流程如下:
1) 禁用Watch-dog
2) 初始化TCM
3) 初始化设备复制函数,用于复制BL1到SteppingStone中
4)初始化栈区域
5) 初始化PLL
6) 初始化指令Cache
7) 初始化堆区域
8) 复制BL1到SteppingStone中
9) 验证BL1
10) 跳转到SteppingStone中运转
2. IROM发动方法的流程图
为了更好了解IROM发动方法的流程,看下面的流程图:
图3
3.根据NAND Flash的 IROM发动方法的发动块分配(Boot Block Assignment)
图4
声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/qiche/xinnengyuan/276562.html