bootm命令中地址参数,内核加载地址以及内核入口地址

bootm命令通过magic number验证数据有效性,并依据内核加载地址和入口地址进行操作。当两者相同时,如果内核在加载地址处,启动会失败;若不在,u-boot会搬移内核并启动成功。当两者不同时,内核必须在加载地址处才能启动。
摘要由CSDN通过智能技术生成

bootm命令用紧随其后的参数来寻找magic number,以此来确认数据的有效性。若有效,则bootm会根据找到的image的头64字节信息建立tag信息供linux kernel使用

根据内核加载地址和入口地址的不同,有以下三种情况:

1. 内核加载地址和入口地址相同。此时内核存放在ram的地址不能与入口地址相同,否则无法启动。

NewSTO平台实验:  内核的入口地址和加载地址都是0x8000,内核从nand读取到0x8000,然后boom 0x8000

u-boot首先比较bootm的参数与加载地址,发现二者相同,略去搬移内核的步骤,直接从入口地址0x8000启动,但此时真正的内核启动代码应该在0x8040处,因此启动失败。


<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值