BootLoader 分析 启动流程(以UBoot 为例)
发布时间
阅读量:
阅读量
目录
-
- 程序启动点:_start
- 环境配置:_main
- 设备初始化:board_init_r
- 内核加载:loader
- 模拟执行:qemu
- 程序启动点:_start
代码入口:_start
通过分析链接脚本的内容可以发现,uboot的起始执行地址被定义为_start。
# u-boot.lds
OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
OUTPUT_ARCH(arm)
ENTRY(_start)
// arch/arm/lib/vectors.S
.section ".vectors", "ax"
_start:
#ifdef CONFIG_SYS_DV_NOR_BOOT_CFG
.word CONFIG_SYS_DV_NOR_BOOT_CFG
#endif
ARM_VECTORS
#endif /* !defined(CONFIG_ENABLE_ARM_SOC_BOOT0_HOOK
全部评论 (0)
还没有任何评论哟~
