ARM 制造处理器内核,而不制造芯片。他们拥有或曾经拥有一些您可以使用的外围设备,但芯片供应商通常拥有自己的外围设备。重点是,即使它们具有相同的内核,来自不同芯片供应商的芯片也没有相同的内存映射,更不用说外围设备等。我没有阅读您的链接(将这样的链接放在问题或答案中作为链接是个坏主意内容不受stackoverflow控制,可能会消失,完全破坏问题或答案),但最后的示例内存映射只是一个示例。需要芯片和系统供应商文档才能获得该芯片或系统的完整物理地址映射。不要尝试在其他任何地方重复使用该地图。信息可用只需要询问或挖掘即可,有时受您可能无法获得的 NDA 保护。另请注意,内核上可能有不止一条总线,毫无疑问,系统中的内核外部也有不止一条总线,因此存在多个物理地址空间。然后你有 mmu,从地址空间的角度来看,它只是将物理地址的一些高位转换为虚拟地址,在这种模式下,处理器/代码在虚拟地址上运行。(例如,在 linux 等操作系统上运行的所有应用程序都可以编译为在地址 0x8000 上运行,mmu 允许这种情况发生,因此所有应用程序都认为它们具有相同的空间,但它们的物理地址不会发生冲突)毫无疑问,系统内核之外有不止一条总线,因此有多个物理地址空间。然后你有 mmu,从地址空间的角度来看,它只是将物理地址的一些高位转换为虚拟地址,在这种模式下,处理器/代码在虚拟地址上运行。(例如,在 linux 等操作系统上运行的所有应用程序都可以编译为在地址 0x8000 上运行,mmu 允许这种情况发生,因此所有应用程序都认为它们具有相同的空间,但它们的物理地址不会发生冲突)毫无疑问,系统内核之外有不止一条总线,因此有多个物理地址空间。然后你有 mmu,从地址空间的角度来看,它只是将物理地址的一些高位转换为虚拟地址,在这种模式下,处理器/代码在虚拟地址上运行。(例如,在 linux 等操作系统上运行的所有应用程序都可以编译为在地址 0x8000 上运行,mmu 允许这种情况发生,因此所有应用程序都认为它们具有相同的空间,但它们的物理地址不会发生冲突)然后你有 mmu,从地址空间的角度来看,它只是将物理地址的一些高位转换为虚拟地址,在这种模式下,处理器/代码在虚拟地址上运行。(例如,在 linux 等操作系统上运行的所有应用程序都可以编译为在地址 0x8000 上运行,mmu 允许这种情况发生,因此所有应用程序都认为它们具有相同的空间,但它们的物理地址不会发生冲突)然后你有 mmu,从地址空间的角度来看,它只是将物理地址的一些高位转换为虚拟地址,在这种模式下,处理器/代码在虚拟地址上运行。(例如,在 linux 等操作系统上运行的所有应用程序都可以编译为在地址 0x8000 上运行,mmu 允许这种情况发生,因此所有应用程序都认为它们具有相同的空间,但它们的物理地址不会发生冲突)