Raspberry Pi 4/BCM2711外设基地址文档与硬件不一致的疑问
关于BCM2711低外设模式基地址的疑问解答
核心原因:混淆了主外设与ARM本地外设的用途及映射范围
你在手册中看到的0x4_7C00_0000是主外设的物理基地址,这部分区域主要用于PCIe等扩展外设,并非树莓派常用的片上外设(如GPIO、UART、SPI等)所在的区域。而资料中普遍提到的0x0_FE00_0000是ARM本地外设的低地址映射,这部分才是系统实际访问片上外设时使用的地址。低外设模式的映射规则
在32位LPAE模式下,BCM2711的低外设模式会将物理地址的高7位(对应35位物理地址的前缀)截断,直接使用低28位作为32位地址。ARM本地外设的物理范围是0x4_C000_0000至0x4_FFFF_FFFF,取其最后256MB区域(0x4_FE00_0000至0x4_FFFF_FFFF),对应的低地址映射就是0x0_FE00_0000至0x0_FFFF_FFFF,这也是系统默认使用的外设访问地址。主外设的低地址映射为何不常用
主外设的物理范围0x4_7C00_0000至0x4_7FFF_FFFF对应的低地址映射确实是0x0_FC00_0000至0x0_FFFF_FFFF,但该区域仅针对扩展外设,在树莓派的常规使用场景中极少涉及,因此不会成为资料中默认的外设基地址。
内容的提问来源于stack exchange,提问作者user23472342
相关产品推荐
相关产品推荐

