【发布时间】:2011-10-02 16:41:00
【问题描述】:
我最近开始研究低级的东西并研究引导加载程序和操作系统等......
据我了解,至少对于 ARM 处理器,外围设备由引导加载程序初始化,然后映射到物理内存空间。从这里,代码可以通过简单地将值写入映射到外设寄存器的内存空间来访问外设。稍后如果芯片有一个 MMU,它可以用来进一步重新映射到虚拟内存空间。我说的对吗?
我不明白的是(假设我上面说的是正确的):
- 如果外围设备尚未映射到地址空间,引导加载程序如何对其进行初始化?
- 使用虚拟内存映射,有一些表告诉 MMU 在哪里映射什么。但是什么决定了外设在物理内存中的映射位置?
【问题讨论】: