uboot启动内核是什么,认识 uboot 和 内核 之间不可不说的关系

本文详细介绍了uboot启动内核的过程,包括uboot镜像、Linux镜像的区别,分区表的一致性,内核加载到DDR的地址,以及uboot如何通过bootcmd启动内核。此外,还讲解了内核加载启动的步骤,如通过do_bootm函数进行内核头部校验和启动,并阐述了传参过程中的tag结构体和机器码验证。
摘要由CSDN通过智能技术生成

uboot启动内核是什么,认识 uboot和内核之间不可不说的关系

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

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

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

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

内核启动的方式

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

88e54045a866e17c7f9dfe82d8158a96.png

其代码分别如下

其中 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, in

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值