白色flash模块代码_STM32G0技术详解 _ Flash

这篇文章给大家介绍一下STM32G0的FLASH模块。

STM32G0是支持指令缓存的,有16个字节的指令缓存,OTP区有1K字节,支持快速烧录、PCROP+安全存储区域和ECC纠错,安全存储区域目前只在H7和G0两个系列中存在。

STM32G0一个bank就嵌入了高达128KB的FLASH。FLASH接口管理所有访问存储保护,安全和选项字节编程。

运用优势:高性能低功耗、小的擦除粒度、短的烧录时间、安全和保护。

主要特性

单bank高达128K字节;

2K字节的页面粒度;

快速擦除(22ms)和快速烧录时间(85µs双字);

预取指和指令缓存;

ECC纠错:每64位双字就有8位纠错码对应

单错误检测和纠错

双错误检测会产生一个NIMI中断

FLASH的组织结构如下:

一个主内存块包含64个页面,每个页面2K字节;

一个信息块包含:

为ST bootloader保留的系统内存

OTP(一次性可编程)1K字节(128双字)用于用户数据

OTP区域中的数据无法擦除,只能写入一次

选项字节用于用户配置;

7f2a0d5b8aa5e72d9d7e85d92e756655.png

闪存保持

8f4481f3d072fb334ba7feb0f12c2989.png

FLASH加速器

b9111b099302de5ebc2d2a0be205e1d8.png

黑色线最下面表示的是预取指关闭、cache关闭,它的性能是最低的;

蓝色线是预取指打开、cache打开的情况,它的性能是最好的。

由于预取指和缓存的关系,FLASH性能几乎和频率呈线性关系,在缓存和预取指都打开的情况下是支持2.23 CoreMark/MHz。

826d1b9b51c28a884472f1d9a8f9c977.png

FLASH保护

读保护:当从SRAM启动或者选择Bootloader时,禁止通过调试接口(SWD)去访问FLASH/SRAM/备份寄存器。

专有代码保护:2个区域512字节粒度,用于保护特定代码区域免受任何读取或写入访问,代码只能被执行。

写保护:2个区域2K字节粒度,用于保护特定代码区域免受不必要的写访问和擦除。

安全存储区域:激活后,对安全存储区的任何访问都将被拒绝,从而产生总线错误。

禁止内核调试访问:在安全存储区中运行代码时,暂时停止调试访问。

666f59a2439301a4f34d4ec24e12bbf6.png

用户选项字节

电源复位后,在OBL_LAUNCH位在FLASH控制寄存器中设置

67a095904a326f83cb14a357051377fc.png

用户选项字节(安全性)

53df49d478b9b8c6d6d86c8cdd1f4b37.png

Boot配置

f0d59b5cd55518e5eb956f138a5bbe81.png

BOOT_LOCK强制从Main FLASH启动,并且无论启动选项如何配置都可以强制从Main FLASH

启动。

中断

当出现操作结束、操作出错、读保护错误、写保护错误、大小错误、烧录序列错误等的时候

都会产生中断事件。

操作结束:当一个或多个闪存操作(烧录/擦除)成功完成时由硬件置位。

操作出错:当一个闪存操作(烧录/擦除)没有成功完成时由硬件置位。

读保护错误:当要读取的数据属于读保护的区域时(PCROP保护)由硬件置位。

写保护错误:当要擦除/烧录的地址属于闪存的写保护区域时(通过WRP、PCROP或RDP level 1设置),由硬件置位。

大小错误:当烧录或快速烧录序列中访问的大小时字节或半字时由硬件置位,只允许双字编

程。

烧录序列错误:当要烧录的双字地址在烧录之前包含与“0XFFFF FFFF”不同的值时,由硬件置位,除非要写入的数据位“0x0000 0000”。

烧录对齐错误:在标准烧录的情况下,如果要烧录的数据不能包含在相同的双字闪存中或者在快速烧录期间页面发生变化时由硬件设置置位。

快速烧录期间数据丢失错误:当新数据没有及时出现时,MISSERR位由硬件设置置位。

快速烧录错误:当快速烧录序列(由FSTPG激活)由于错误而被中断时由硬件设置置位。

ECC纠错:检测到并纠正1个ECC错误时由硬件设置置位。

ECC检测:检测到2个ECC错误时由硬件设置置位。

ECC检测出错时会产生一个不可屏蔽的中断。

低功耗模式

FLASH接口时钟可以在Run/LP Run/Sleep /LP Sleep模式下关闭,FLASH时钟的配置是在RCC寄存器,它默认是使能的。

在LP Sleep,LP Run和Stop模式,FLASH可以配置为Power-down模式。

各个低功耗模式下FLASH的状态

da7ac5f5625325634e89f47006dc91d2.png

点击下方链接可进行STM32全国巡回研讨会直播预约

2019年STM32全国巡回研讨会​live.vhall.com
a83b855b622bba0a4eb8b9f5f907b7ac.png

加小电微信可进群和各专业人士交流讨论

b1689cc054d7fa974c387f6f60213e1e.png

f6b64b2dda59e0aad1b5ab7116b299d3.png

登录电堂网站观看更多相关课程

电堂科技​c.51diantang.com
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值