主要特性:
● 对于STM32F40x和STM32F41x,容量高达1 MB;对于STM32F42x和STM32F43x,容量高达2 MB
(这里,STM32F407ZGT6:1MB,STM32F407ZET6:512KB)
● 128位宽数据读取
● 字节、半字、字和双字数据写入
● 扇区擦除与全部擦除
● 存储器组织结构
Flash 结构如下:
— 主存储器块,分为 4 个 16 KB扇区、1个64 KB扇区和7个128 KB扇区
— 系统存储器,器件在系统存储器自举模式下从该存储器启动
— 512 字节 OTP(一次性可编程),用于存储用户数据
OTP 区域还有 16 个额外字节,用于锁定对应的 OTP 数据块。
— 选项字节,用于配置读写保护、 BOR 级别、软件/硬件看门狗以及器件处于待机或
停止模式下的复位。
● 低功耗模式
Flash模块构成(STM32F40x和 STM32F41x):
读接口:
-- CPU时钟频率与Flash读取时间之间的关系 --
为了准确读取 Flash数据,必须根据CPU时钟(HCLK)频率和器件电源电压在Flash存取控制寄存器(FLASH_ACR)中正确地编程等待周期数(LATENCY)。
等待周期通过 FLASH_ACR寄存器的LATENCY[2:0]三个位设置。复位后, CPU时钟频率为16Mhz,FLASH_ACR寄存器中的等待周期(WS)为0。
供电电压是3.3V,所以我们设置168Mhz频率作为CPU时钟之前,必须先设置LATENCY为5,否则FLASH读写可能出错,导致死机。
-- 自适应实时存储器加速器(ART Accelerator™)