在哈佛架构上启动Linux
当我遇到这个问题时,我正在做 pandaboard。 pandaboard 使用 OMAP 4430,一种基于哈佛的架构。该板具有 1GB 内存(DDR2 RAM)。但是哈佛架构需要两个内存,对吗?
这是我的理解 Linux内核映像存储在MMC/SD卡中,然后由引导加载程序将其拉出到内存中。现在,引导加载程序从哪里运行(是 1GB 内存吗?)。引导加载程序将内核映像转储到哪里?(同样,它是 1GB 内存吗?)
I was working on pandaboard, when this problem occurred to me. pandaboard uses OMAP 4430, a harvard based architecture. The board has 1GB memory (DDR2 ram). But a harvard architecture requires two memories right ?
Here is what I understand
the linux kernel image is stored in MMC/SD card and then pulled out by the bootloader into memory. Now, where is the bootloader running from (is it the 1GB ram?). Where does the bootloader dump the kernel image ?(again, is it the 1GB ram ?)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
ARM 架构通常被称为“修改版哈佛”。它具有单个线性 (4GB) 内存空间,但对代码和数据使用不同的总线(和缓存)。这允许它读取代码或执行数据,就像 x86 一样。
请注意,这并不适用于所有 ARM 芯片。其中一些(例如 Cortex-M0 内核)使用单总线来传输代码和数据,因此它们实际上是冯·诺依曼。
ARM architecture is often called "modified Harvard". It has a single linear (4GB) memory space, but uses different buses (and caches) for code and data. This allows it to read code or execute data, just like x86.
Note that this does not hold for all ARM chips. Some of them (e.g. Cortex-M0 cores) use single bus for code and data, so they're actually von Neumann.