据我所知,代码指令的地址是虚拟地址,但为了访问各种设备(例如RAM、并行或闪存),需要将这些虚拟地址转换为物理地址,这项任务由MMU完成。问题是这个转换过程在系统重置(上电时,我认为MMU中还没有条目)时表现如何,以便可以从并行NOR闪存中获取第一条指令并开始执行。任何人都可以解释这个过程(对于任何CPU架构,ARM,PowerPC,...,我只是猜测这个行为在架构中是通用的)。任何建议都是值得感谢的。在进阶时谢谢!
发布于 2012-11-14 12:16:53
在上电时,MMU实际上将被禁用。这些都是通用的。
要访问NOR闪存,将存在(至少)一些地址空间的默认映射。第一条指令通常从0xFFFF0000 (ARM)或0xFFFFFFFC (Power PC)及其附近提取。但是有一些pinstrap选项可以影响这一点。引导处理器并不是真正的通用。
还有许多其他选项(NAND闪存、SPI ROM、MMC)用于存储引导代码。对于一般概念,Hallinan包含一个关于引导的章节。有关详细信息,您必须查看特定CPU的技术手册,例如OMAP4 TRM是ARM的一个示例,然后找到描述引导过程的部分。
https://stackoverflow.com/questions/13372640
复制相似问题