都是基础记录一下哈。
主要分为两个阶段:
第一个阶段:汇编
构建异常向量表
禁止mmu和cache(处理器缓存),禁止看门狗
硬件时钟的初始化,内存的初始化
清除bss段,
完成uboot代码的自搬移(PS:如果是从NAND Flash启动,则必须通过NAND Flash控制器将bootloader代码复制到内存。)
初始化C代码运行的栈空间
第二个阶段:C
完成硬件的初始化
串口的初始化
内存的进一步的初始化
电源的初始化
根据命令是否进入交互模式还自启动模式
获取uboot的环境变量,
执行bootcmd中的命令,
最终给内核传递参数(bootargs)。