uboot启动内核

认识 uboot 和 内核 之间不可不说的关系

uboot 镜像为 uboot.bin,Linux 镜像为 zImage

嵌入式设备中的分区表是自己定义的,uboot 和内核中的分区表应一致

内核运行前必须加载到 ddr 中指定的地址处

uboot 需要提供内核必要的参数

内核启动的方式

uboot 启动内核有两种方式,一种是等待倒计时结束后直接启动内核,一种是在 uboot 命令行中使用 boot 命令启动内核

其代码分别如下

其中 parse_string_outer 的作用是解析 boot 参数并执行

/*------------------倒计时----------------------*/
s = getenv ("bootcmd");

if (bootdelay >= 0 && s && !abortboot (bootdelay)) {
	...
	parse_string_outer(s, FLAG_PARSE_SEMICOLON |
				    FLAG_EXIT_FROM_LOOP);
	...
}
/*------------------命令行----------------------*/
int do_bootd (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
{
	...
	if (parse_string_outer (getenv ("bootcmd"),
			FLAG_PARSE_SEMICOLON | FLAG_EXIT_FROM_LOOP) != 0)
		rcode = 1;
	...
}

U_BOOT_CMD(
	boot,	1,	1,	do_bootd,
	"boot    - boot default, i.e., run 'boo
  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值