据我了解,代码指令的地址是虚拟地址,但是为了访问各种设备(例如RAM,Parallel NOR Flash),这些虚拟地址需要转换为物理地址,这个任务由MMU完成。问题是这个翻译过程在系统复位时如何表现(上电时,我认为 MMU 中还没有条目),以便可以从并行 NOR 闪存中获取第一条指令并开始执行。任何人都可以解释这个过程(对于任何 CPU 架构 ARM、PowerPC ......,我只是猜想这种行为在架构中是通用的)。任何建议表示赞赏。提前致谢!
问问题
195 次
1 回答
4
上电时,实际上 MMU 将被禁用。这么多是通用的。
要访问 NOR 闪存,(至少)某些地址空间会有一个默认映射。第一条指令通常会从 0xFFFF0000 (ARM) 或 0xFFFFFFFC (Power PC) 及其附近获取。但是有一些 pinstrap 选项会影响这一点。启动处理器并不是真正的通用。
还有很多其他选项(NAND 闪存、SPI ROM、MMC)用于存储引导代码。对于一般概念,Hallinan包含有关引导的一章。有关详细信息,您必须查看特定 CPU 的技术手册,例如OMAP4 TRM是 ARM 的示例,然后找到描述引导过程的部分。
于 2012-11-14T04:16:53.397 回答