声明:参照韦东山老师的课程对Uboot的启动过程进行了大致得了解,现对UBoot的启动过程进行记录
有关Uboot的程序,我们可以将其看成一个较为复杂的单片机程序。
Uboot程序的主要目的:启动内核;
过程:
(1)完成相关硬件的初始化,CPU的工作模式设为管理模式、关闭看门狗,关闭MMU、CACHE。
(2)初始化RAM空间,之后进行代码重定位。
(3)对即将用到的硬件设备进行初始化,包括系统时钟和串口;
(4)读取内核,将内核从NorFlash复制到内存
(5)通过标记(TAG)列表设置内核启动的参数,将标记列表的位置信息和板卡的序列号传给theKernel函数启动内核。
注:Uboot和内核之间的参数传递是通过一片指定的内存,数据参数按规定好的TAG进行存储。