linux – 内核loadaddress和入口点有什么区别?

linux – 内核loadaddress和入口点有什么区别?,第1张

概述我正在制作自己的 Linux发行版.开发进展顺利但是我发现很难理解内核加载地址和入口点之间的区别. 为了通过uBoot加载内核,我认为加载内核的内存地址总是与内核执行(启动)时的条目(起始点)相同. 但我猜测,因为这些是两个分开的值,并不总是必须相同,因此有一个原因可以将它们分开. 有人可以解释一下这两者之间的区别吗? 加载地址是要复制内核二进制映像的RAM位置. 入口点是由uboot执行以复制二 我正在制作自己的 Linux发行版.开发进展顺利但是我发现很难理解内核加载地址和入口点之间的区别.

为了通过uBoot加载内核,我认为加载内核的内存地址总是与内核执行(启动)时的条目(起始点)相同.

但我猜测,因为这些是两个分开的值,并不总是必须相同,因此有一个原因可以将它们分开.

有人可以解释一下这两者之间的区别吗?

解决方法 加载地址是要复制内核二进制映像的RAM位置.
入口点是由uboot执行以复制二进制文件的位置以引导内核.

如果RAM映射为80000000且内核LOAD ADDRESS为80008000.bootm命令将uImage从复制的映像位置解压缩到80008000地址,然后调用内核入口点(可能是相同的地址:80008000)来执行内核.

总结

以上是内存溢出为你收集整理的linux – 内核loadaddress和入口点有什么区别?全部内容,希望文章能够帮你解决linux – 内核loadaddress和入口点有什么区别?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/1025533.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存