STM32F7系列闪存双存储区模式
引言
随着对具有严格实时需求的移动通信和汽车系统等应用的需求不断增长,有必要在完成闪存擦除/编程操作之前访问有关系统功能的关键信息。
其他应用程序需要固件升级,但这可能存在风险,尤其是在更新过程中发生系统断电时。这可能导致许多问题,例如传输错误或信息丢失。
出于这些原因,ST提供嵌入双存储区闪存的STM32 MCU,旨在满足上述需求。
双存储区闪存允许在一个存储区正在被擦除或编程过程中,在另一个存储区执行代码。这可以避免在编程操作期间CPU失速,保护系统免受电源故障或其他错误的影响。
本应用笔记概述了STM32F7系列闪存双存储区功能,例如同时读写(RWW)和双启动功能。
本应用笔记随附X-CUBE-DBANK-F7嵌入式软件包,该软件包包含三个示例以及运行这些示例所需的所有嵌入式软件模块。
这些示例描述了闪存双存储区模式的主要特性:
- 同时读写示例:通过示波器波形说明同时读写功能如何允许在写入闪存存储区2的同时从闪存存储区1执行代码,且不会停止执行。
- 双启动示例:在闪存存储区1中启动并闪烁LED1,或在闪存存储区2中启动并闪烁LED2,实现双启动功能。
- 性能和功耗示例:运行CMSIS ARM®图形均衡器算法,测量STM32F7系列器件的性能和功耗,对比双存储区模式与单存储区模式。
相关文档
意法半导体网站 www.st.com 提供以下文档:• STM32F76xxx和STM32F77xxx基于32位MCU(RM0410)的高级ARM®• STM32微控制器系统存储器启动模式(AN2606)。
1 闪存单存储区和双存储区配置
STM32F7系列器件的闪存大小分别为1 MB和2 MB。
该闪存可以配置为单存储区或双存储区。
1.1 1 MB闪存组织结构
图 1介绍了适用于两种配置的1 MB闪存主块组织:单存储区和双存储区。
- 单存储区配置:主存储器块分为4个32 KB扇区、1个128 KB扇区和3个256 KB扇区。
- 双存储区配置:在每个512 KB存储区中,主存储器块分为4个16 KB扇区、1个64 KB扇区和3个128 KB扇区。
注: 双存储区存储器组织的扇区编号与单存储区存储器组织不同:
单存储区存储器包含8个连续扇区号,而双存储区存储器包含16个扇区,扇区号不连续。
1.2 2 MB闪存组织结构
图 2介绍了适用于两种配置的2 MB闪存主块组织:单存储区和双存储区。
- 单存储区配置:主存储器块分为4个32 KB扇区、1个128 KB扇区和7个256 KB扇区。
- 双存储区配置:在每个1 MB存储区中,主存储器块分为4个16 KB扇区、1个64 KB扇区和7个128 KB扇区。
1.3 如何激活双存储区模式
使用FLASH_OPTCR寄存器,在用户选项字节中设置nDBANK = 0,激活双存储区闪存模式
|