uboot启动2阶段总结

第二阶段主要是对开发板级别的硬件、软件数据结构进行初始化。

一、主要函数

uboot启动第2阶段
init_sequence
cpu_init
空的
board_init
网卡和机器码和内存传参地址
dm9000_pre_init 网卡
gd->bd->bi_arch_number 机器码
gd->bd->bi_boot_params 内存传参地址
mem_malloc_init
初始化uboot自己维护的堆管理器的内存
mmc_initialize
inand/SD卡的SoC控制器和卡的初始化
env_relocate
环境变量重定位
gd->bd->bi_ip_addr
gd数据结构赋值
gd->bd->bi_enetaddr
gd数据结构赋值
devices_init
空的
jumptable_init
不用关注的
console_init_r
真正的控制台初始化
enable_interrupts
空的
loadaddr和bootfile
环境变量读出初始化全局变量
board_late_init
空的
eth_initialize
空的
x210_preboot_init
LCD初始化和显示logo
check_menu_update_from_sd
检查自动更新
main_loop
主循环

二、启动过程特征总结

(1)第一阶段为汇编阶段、第二阶段为C阶段
(2)第一阶段在SRAM中、第二阶段在DRAM中
(3)第一阶段注重SoC内部、第二阶段注重SoC外部Board内部

3、移植时的注意点

(1)x210_sd.h头文件中的宏定义
(2)特定硬件的初始化函数位置(譬如网卡)

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值