CM3存储器映射概览
CM3的地址空间是4GB,程序可以在代码区、内部SRAM区以及外部RAM区中执行。但是因为ICode总线与DCode总线只能访问代码区,因此最理想的是把程序放到代码区,从而使取指和数据访问各自分别使用ICode总线和DCode总线,并行不悖。
内部SRAM区大小是512M,用于让芯片制造商连接片上SRAM,这个区通过系统总线来访问。
Peripheral区的大小是512M,由片上外设(的寄存器)使用。
还有两个1GB的范围,分别用于链接外部RAM和外部设备(芯片外部的设备)。两者的区别在于外部RAM区允许执行指令,而外部设备区则不允许。
最后还剩下0.5G的隐秘地带,里面包括了系统级组件,内部私有外设总线,外部私有外设总线,以及由芯片制造商定义的系统外设。
私有外设总线由两条:
- AHB私有外设总线:只用于CM3内部的AHB设备。他们是:NVIC、FPB、DWT、ITM。
- APH私有外设总线:及用于CM3内部的APM设备,也用于外部设备(这里的”外部“是对内核而言)。CM3允许制造商再添加一些片上APB外设到APB私有总线上,他们通过ABP接口来访问。
NVIC所处的区域叫做系统控制空间(SCS),再SCS里的还有SysTick、MPU以及代码调试控制所用的寄存器。如图所示: