目录
创新互联专业为企业提供长白网站建设、长白做网站、长白网站设计、长白网站制作等企业网站建设、网页设计与制作、长白企业网站模板建站服务,十余年长白做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。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://lswzjz.com/article/deopsc.html