这篇文章主要想给大家介绍一下STM32F7x6的存储器映射。
Cortex-M7的预定义和之前的M3、M4都是一样的,唯一的区别就是M7不再支持位带操作。
![bb7e8dcb324c31054eb9d25179e2c5bf.png](https://i-blog.csdnimg.cn/blog_migrate/ed6124552defb269d630d01086471b56.jpeg)
Cortex-M7有4类总线接口,这4类总线接口都有自己可以访问的地址,总线接口和要访问的地址范围之间是存在一个固定的映射,这个固定的映射决定了通过哪个接口来访问我的存储器。存储器的属性可以通过MPU设置管理。
![5b74c32d945818a07d543f5b05a970b3.png](https://i-blog.csdnimg.cn/blog_migrate/1dfc0f3bc9b4079b7520be09bc4bbbf6.jpeg)
下图是Cortex-M7存储器映射以及访问接口的表格。
![1ba70c084acbe7860ddf93ecb8e2aba5.png](https://i-blog.csdnimg.cn/blog_migrate/2f45c3cfa445986bc9e969a8bb3df6e1.jpeg)
下面的图片是STM32F7x6的片上存储器映射。
![4d0f4485821a950508866cb599c1b868.png](https://i-blog.csdnimg.cn/blog_migrate/3341763a7f7447016a54ba4ce0157442.jpeg)
STM32F7x6可以通过FMC和Cortex PI接口来外扩外部的存储器,下图是STM32F7x6外部存储器的一个映射。
![a6b83b1217d70343d7b7e55243d30f90.png](https://i-blog.csdnimg.cn/blog_migrate/bbdb43638443972dd0ef1a2ea11eb0a1.jpeg)
这个映射并不是完全固定的,后面会再具体介绍。
要说一下的就是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。
感兴趣的朋友可以关注“AI电堂”公众号
![418c233c43520b8c08c4e439a4be0ebd.png](https://i-blog.csdnimg.cn/blog_migrate/eddb1d4ba08013e778887043e53bcbe8.jpeg)
也可以直接登录电堂网站观看相关课程
电堂科技c.51diantang.com