UBOOT启动BL-2
发布时间
阅读量:
阅读量
uboot第二阶段分析主要聚焦于start_armboot函数的解析
一、该函数位于uboot/lib_arm/board.c文件的444行至908行之间。
1、首先探讨uboot第二阶段应当完成的任务?
(1)、第一阶段的核心任务是初始化SoC内部的部分组件(如看门狗、时钟等)
(2)、uboot第二阶段则负责初始化尚未完成的硬件设备(如iNand、网卡芯片等)以及uboot本身的一些功能模块(如命令系统、环境变量等)。在完成所有必要的初始化操作后,系统将进入uboot的命令行界面,以接收用户输入的指令。
2、uboot第二阶段结束于何处?
(1)、当uboot启动后会自动输出大量信息(这些信息来源于第一和第二阶段持续进行的初始化过程)。随后,系统将等待bootdelay秒后执行bootcmd对应的启动指令。
(2)、若用户未进行任何干预,则将执行bootcmd命令,进入自动启动内核流程(此时uboot退出);若在bootdelay秒内按下回车键,则会进入uboot命令行界面,并可执行相应的命令。
(3)、uboot命令行本质上是一个死循环结构,在循环过程中不断重复:接收输入、解析指令并执行操作。这即是uboot最终的状态。
3、start_armboot解析
(1)、typedef int (init_fnc_t) (void);
全部评论 (0)
还没有任何评论哟~
