X210之uboot启动内核分析

uboot——启动内核分析

内核启动的步骤

  1. 第一步是将内核镜像从启动介质中加载到DDR中。

    movi read kernel 0x30008000 //这条指令就是从SD卡中的kernel分区中将kernel读取到DDR的链接地址0x30008000中
    
  2. 第二步是去DDR中启动内核镜像。

    bootm 0x30008000 //这条指令用来启动kernel
    

**注意:**内核代码不需要考虑重定位,因为内核知道会有uboot之类的把自己加载到DDR中链接地址处的,所以内核直接就是从链接地址处开始运行的。

内核的链接地址

uboot启动内核时将内存从SD卡读取放到DDR中(其实就是个重定位的过程),不能随意放置,必须放在内核的链接地址处,否则启动不起来。譬如我们使用的内核链接地址是0x30008000。

do_bootm函数分析

CONFIG_ZIMAGE_BOOT
/*
	代码196行定义了一个宏,这个宏用条件编译来控制一段代码;
	这段代码(196-225行)用来支持zImage格式的内核启动。
*/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值