主要特性:
● 对于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™) --

本文详细介绍了STM32F407系列芯片的Flash特性,包括1MB至2MB的存储容量、128位宽数据读取、多种数据写入方式及扇区擦除功能。内容涵盖Flash的存储结构、低功耗模式、读写接口、编程擦除操作流程,以及如何通过控制寄存器进行操作。此外,还讨论了编程时的注意事项,如等待周期设置、编程位数配置和擦除步骤。最后提到了相关的库函数及其使用。
最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



