(1)在STM32F1系列(及F407)的芯片上封装了FSMC外设,支持拓展SARM作为RAM。
(2)SRAM和SDRAM的区别:
- 存储结构:SRAM使用锁存器、SDRAM使用电容
- 通讯方式:SRAM多用异步通讯、SDRAM为同步通讯
(3)FSMC框图:
(4)FSMC地址映射:FSMC连接好外部的存储器并初始化后,就可以直接通过访问地址(c语言指针)来读写数据。
其中Bank1中又分为四个部分,对应了FSMC_NE[4:1],当STM32访问0x6000_0000-0x63FF_FFFF地址空间是,会访问Bank1的第三小块区域,相应的FSMC_NE1信号线就会输出控制信号。
- FSMC访问存储器的方式与EEPROM、SPI FLASH不一样,后两者都需要控制IIC或者SPI总线来给存储器发送地址,然后获取数据,在程序里,这个地址和数据都需要分开,使用不同的变量存储,并且访问都需要代码控制发送读写命令;而使用FSMC外接存储器时,其存储单元是映射到STM32内部寻址空间的,因此,在程序中,定义一个指向这些地址的指针,就可以直接通过指针来修改该存储单元的内容,FSMC外设会自动完成数据访问的过程,读写命令不需要程序控制。
(5)FSMC有ABCD四种模式,控制SRAM使用的是模式A