FSMC(Flexible Static Memory Controller,可变静态存储控制器))是STM32系列中内部集成256 KB以上FlaSh,后缀为xC、xD和xE的高存储密度微控制器特有的存储控制机制。之所以称为“可变”,是由于通过对特殊功能寄存器的设置,FSMC能够根据不同的外部存储器类型,发出相应的数据/地址/控制信号类型以匹配信号的速度,从而使得STM32系列微控制器不仅能够应用各种不同类型、不同速度的外部静态存储器,而且能够在不增加外部器件的情况下同时扩展多种不同类型的静态存储器,满足系统设计对存储容量、产品体积以及成本的综合要求。
FSMC相当于外部设备存储器地址在FSMC对应存储地址中的映射,通过在FSMC的存储地址中写数据,就能通过FSMC的地址线和数据线,将地址和数据写到外部设备存储器地址中。所以,程序中,需要在设备存储地址中写数据,一般是定义一个变量,变量的指定地址为FSMC中的地址,而不是内存中的地址,这样,给这个地址写数据,其实就是同时写数据和地址给外部设备存储器。
好像是STM32特有的,在其他的MCU我还没发现,不能百分百确定。
|