gpt4 book ai didi

embedded - u-boot : Relocation

转载 作者:行者123 更新时间:2023-12-03 22:36:48 28 4
gpt4 key购买 nike

这是一个与u-boot相关的基本问题。

为什么 u-boot 代码会自行重定位?

好的,如果 u-boot 是从 NOR-flash 或引导 ROM 空间执行是有道理的,但如果它已经从 SDRAM 运行,为什么它必须再次重新定位?

最佳答案

这个问题经常出现。 Good answers有时也是。

我同意在开发过程中将构建加载到 SDRAM 很方便。这对我有用,我一直这样做。我在闪存中有一些特殊的引导代码,它不启用 MMU/缓存。对于我的 u-boot 构建,我在 flash 和 ram 构建之间切换 CONFIG_SYS_TEXT_BASE。我经常以这种方式运行我的开发构建。

实际上,处理 MMU/缓存的重新初始化将是一件非常重要的事情。而 U-Boot 从简单性中受益于 IMO,因为它省略了类似的东西。

Denx 的技术负责人表达了他的 opinion . IIRC 他的其他帖子比那个帖子措辞更强烈。我的印象是他不喜欢重复自己。

更新:为什么要搬迁。从 RAM 访问内存比从 ROM 访问更快,这在目标没有指令缓存时尤其重要。从 RAM 执行允许闪存重新编程;也(更次要)它允许带有“陷阱”指令的软件断点;它也更像是目标的正常操作模式,所以如果例如从 RAM 的突发读取是 iffy 故障将在早期启动时看到。

关于embedded - u-boot : Relocation,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16719986/

28 4 0