u_boot初始化流程.docVIP

  • 13
  • 0
  • 约1.04万字
  • 约 10页
  • 2016-10-19 发布于重庆
  • 举报
u_boot初始化流程

U-Boot启动代码分析 U-boot的启动顺序分为stage1和stage2两部分,见下图。依赖于CPU体系结构的代码(如设备初始化代码等)通常放在stage1中用汇编语言实现,而在stage2则通常由C语言实现,这样可以实现复杂的功能,而且有更好的可读性和移植性。以下主要梳理了stage2阶段函数的调用顺序以及每个函数的功能。 U-boot的启动顺序 C语言代码部分lib_arm/board.c中的start_armboot既是C语言开始的函数也是整个启动代码中C语言的主函数,同时还是整个U-boot的主函数,该函数只要完成如下操作。 (1)调用一系列的初始化函数。 (2)初始化Flash设备。 (3)初始化系统内存分配函数 (4)如果目标系统拥有NAND设备,则初始化NAND设备 (5)如果目标系统有显示设备,则初始化该类设备。 (6)初始化相关网络设备,填写IP、MAC地址等。 (7)进入命令循环(即整个Boot的工作循环),接收用户从串口输入的命令,然后进行相应的工作。 下面结合源码分析函数调用顺序以及函功能: 代码: void start_armboot (void) { init_fnc_t **init_fnc_ptr; char *s; int mmc_e

文档评论(0)

1亿VIP精品文档

相关文档