打印
[i.MX]

uboot启动流程分析

[复制链接]
759|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
Vitality1|  楼主 | 2015-1-27 17:32 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
配置文件: include/configs/mx53_xx.h

1. board/freescale/“platform”/u-boot.lds (链接脚本)

ENTRY(_start) 指示程序的入口函数_start



2. cpu/arm_cortexa8/start.S

// 程序开始的一些基本设置,汇编,不知说啥

#endif
    ldr pc, _start_armboot  @ jump to C code

_start_armboot: .word start_armboot  // 最后跳到函数 start_armboot



3. lib_arm/board.c (start_armboot)

// u-boot 进入的第一个C函数,完成系统的初始化,处理用户输入命令


3.1 board_late_init (); // board/freescale/“platform”/mx53_smd.c

3.1.1  board_special_init(void)  //初始化gpio

3.1.2 board_pm_setup(void) // 电源设置 usb充电或AC充电之类

3.1.3 check_autotest_mode(); // 检查是否为autotest mode : 即检查某个按键是否按下,是则设置命令环境变量 setenv("bootcmd", "run bootcmd_autotest");

3.2 check_recovery_mode(); // 检查是否为 recovery mode

3.3 进入mian loop        main_loop ();



4 。 main_loop (); // common/mian.c

// 处理输入命令,按设置好的环境变量启动linux

相关帖子

沙发
vigous1| | 2015-1-28 09:58 | 只看该作者
分析的不错,谢谢分享

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

81

主题

421

帖子

9

粉丝