嵌入式linux软件平台--uboot引导流程

u-boot在SPL的配置的基础上,需要添加对使用内存的初始化,网口驱动,usb驱动,env配置管理,载入kernel并引导启动,kernel引导cmdline配置,u-boot下支持的命令实现等内容.

编译

make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf-

代码流程

	reset: (arch/arm/cpu/armv7/start.s)
		Set the cpu to SVC32 mode
		board_init_f (arch/arm/lib/board.c)
			initialize global data
			(*init_fnc_ptr)() /* 逐个调用init_sequence数组中的初始化函数  */
				timer_init
				env_init
				init_baudrate
				serial_init
				console_init_f
				display_banner
				init_func_i2c				
		relocate_code (arch/arm/cpu/armv7/start.s)
		board_init_r (arch/arm/lib/board.c)
			enable_caches(arch/arm/lib/cache.c)
			board_init (arch/arm/cpu/armv7/am33xx/board.c)
			serial_initialize
			mem_malloc_init
			env_relocate
			stdio_init
			jumptable_init
			console_init_r
			arch_misc_init
			interrupt_init
			enable_interrupts
			board_late_init
			main_loop(common/main.c)	
				initialize hash parser for uboot (common/hush.c)
				find bootdelay from hash table (common/cmd_nvedit.c)
				find bootcmd from hash table (common/cmd_nvedit.c)
				watch for bootdelay seconds for autoboot stop (common/main.c)
				read and parse bootcmd (common/hush.c)


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值