0xFFFFFFFF
0xE0100000 0xE00FFFFF 0xE0040000
0xE003FFFF
0xE0000000 0xDFFFFFFF
0xA0000000 0x9FFFFFFF
0x43FFFFFF
0x42000000 0x41FFFFFF
0x40100000 0x40000000
0x60000000 0x5FFFFFFF
0x40000000 0x3FFFFFFF
0x20000000 0x1FFFFFFF
0x00000000
0x23FFFFFF
0x22000000
0x21FFFFFF
0x20100000 0x20000000
图 2.8 Cortex-M3 存储器映射图
片上外设对应 512MB 的空间,芯片上所有与外围设备相关的寄存器都位于该区域。这个区中也有一
条 32MB 的位带别名,以便于快捷地访问外设寄存器,用法与内部 SRAM 区中的位带相同。例如,可以方 便地访问各种控制位和状态位。要注意的是,外设区内不允许执行指令。通常半导体厂商就是修改此区 域的片上外设,来达到各具特色的、个性化的设备。
还有两个 1GB 的范围,分别用于连接外部 RAM 和外部设备,它们之中没有位带。两者的区别在于外 部 RAM 区允许执行指令,而外部设备区则不允许。 最后还剩下 0.5GB 的隐秘地带,包括了系统级组件,内部私有外设总线,外部私有外设总线,以及 由提供者定义的系统外设。
私有外设总线有两条: AHB 私有外设总线,只用于 CM3 内部的 AHB 外设,它们是:NVIC, FPB, DWT 和 ITM。 APB 私有外设总线,既用于 CM3 内部的 APB 设备,也用于外部设备(这里的“外部”是对内核而言)。 Cortex-M3 允许器件制造商再添加一些片上 APB 外设到 APB 私有总线上,它们通过 APB 接口来访问。