uboot内核入口点30008000的由来(50008000同理)

uboot没有虚拟内存管理,其程序直接访问物理地址,所以30008000是物理地址,跳到这个地址,则内核便可以直接运行起来,而内核运行起来后,会马上启动MMU,进行虚拟内存映射(几乎是马上,之前只是比对了CPU和ARCH两个参数),然后其程序访问的便是虚拟内存。你之所以有这个困惑,我想是因为没有弄明白uboot和内核其实是两个独立的
映像,内核启动后uboot映像便不起作用了,而且其空间也会被内核初始化,这时kernel的stext实际上是由
内核映射生成时的链接器来决定的,链接器指定c0008000这么一个不存在于物理地址空间的地址,是因为内核
是运行于虚拟空间的,因为它马上就启动了MMU。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值