这篇文章主要想给大家介绍一下STM32F7x6的存储器映射。
Cortex-M7的预定义和之前的M3、M4都是一样的,唯一的区别就是M7不再支持位带操作。
Cortex-M7有4类总线接口,这4类总线接口都有自己可以访问的地址,总线接口和要访问的地址范围之间是存在一个固定的映射,这个固定的映射决定了通过哪个接口来访问我的存储器。存储器的属性可以通过MPU设置管理。
下图是Cortex-M7存储器映射以及访问接口的表格。
下面的图片是STM32F7x6的片上存储器映射。
STM32F7x6可以通过FMC和Cortex PI接口来外扩外部的存储器,下图是STM32F7x6外部存储器的一个映射。
这个映射并不是完全固定的,后面会再具体介绍。
要说一下的就是Cortex PI,我们可以看到上图有一个256MB的Cortex PI的映射空间,它有好几种工作模式,其中一种就是memory mapped模式,在这种模式下Cortex PI可以映射256MB的空间,对于这段空间的Cortex PI的存储器可以完全像操作内部存储器一样地通过地址去进行操作。
片上SRAM
片上SRAM包括系统SRAM,系统SRAM分为三个部分:64KB的DTCM-RAM、16KB的SRAM2和240KB的SRAM1,这三部分可以被所有AHB总线的主设备访问。
还有一部分是ITCM-RAM,这部分RAM只能被CPU访问。
SRAM可以以8位、16位、32位的宽度进行访问。
DTCM RAM、ITCM RAM可以以8位、16位、32位、64位的宽度进行访问。
在备份域还有4KB的Backup SRAM,它的地址范围是0x40024000-0x40024FFF。