成都网站建设设计

将想法与焦点和您一起共享

uboot启动流程-创新互联

目录

创新互联专业为企业提供长白网站建设、长白做网站、长白网站设计、长白网站制作等企业网站建设、网页设计与制作、长白企业网站模板建站服务,十余年长白做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。

1. 从汇编到C语言


1. 从汇编到C语言

uboot整个程序的入口是 ./arch/arm/lib/vectors.S 的 start

其中,reset 来自于 ./arch/arm/cpu/armv7/start.S,

./arch/arm/cpu/armv7/start.S 程序的执行路径为 reset -->save_boot_params_ret -->cpu_init_crit。 cpu_init_crit则调用了 lowlevel_init.

lowlevel_init 来自于 ./arch/arm/cpu/armv7/lowlevel_init.S

其中,s_init 来自于 ./arch/arm/mach-imx/mx6/soc.c,

当执行完 s_init 后,程序流会回退到 ./arch/arm/cpu/armv7/start.S,执行 main。

main 的定义位于 ./arch/arm/lib/crt0.S

在main函数里,将会依次调用 :

board_init_f ( common/board_f.c ) init_sequence_f[]     // 就是那个函数指针数组,包含

                                                                             // 初始化串口的功能
relocate_code ( arch/arm/lib/relocate.S )
relocate_vectors ( arch/arm/lib/relocate.S )
board_init_r ( common/board_r.c )

总结一下,uboot启动后,程序流的执行路径:

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


本文标题:uboot启动流程-创新互联
当前地址:http://chengdu.cdxwcx.cn/article/deopsc.html