uboot发动类似于pc机中bios的发动进程,扼要阐明如下;
第一阶段
1:cup内硬件初始化(屏蔽一切中止,设置cup的时钟,存储控制器初始化,指示灯初始化状况为灭,封闭CPU内存指令/缓存);
2:复制第二阶段代码到RAM中以备第二阶段代码的履行;
3:设置好仓库指针寄存第二阶段代码的进口地址;
进入第二阶段
当用户按下任意键时进入下载形式(此进程只为开发人员所用得到),假如一段时间内用户没有任何操作,主动进入的发动加载形式如下(此进程是为了加载操作体系内核镜像和文件体系镜像):
4:对arm开发板上硬件资源初始化(至少包括一个串口初始化,由于加载操作系傍边一般需求通过彩屏承受串口发来的Linux内核版别信息,以及硬件的驱动的预备状况等;做到人机交互)
5:阶段2的代码检测RAM存在的区域和容量巨细并将其映射到(CPU的整个地址)地址空间中;
6:将操作体系镜像以及文件体系镜像从Flash读取到RAM中;(通过一段时间的学习忽然发现具体操作中了解了前面几个过程并没有什么卵用仅仅是教科书中的一些内容 )
7:在发动操作体系内核之前,需求设置操作体系内核的发动参数(如Linux中的ATAG_MEM,ATAG——CNDLINE,等等);
8:哈哈,总算要进行操作体系内核发动了,引导程序并将履行权交给操作体系;