打印
[STM32G4]

stm32G474的flash模式如何判定?single bank 和dual bank

[复制链接]
122|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
classroom|  楼主 | 2024-11-11 10:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
请教各位,使用的芯片是stm32g474cbt6,按照手册说法,single bank是单一flash区域,最小擦除是4k,dual bank是支持双flash区域,一边操作不影响另外一块,最小擦除是2k.
手册判定依据:读取flash option register,其中BFB2位是0,表示是单bank模式。
而我这边不管是打印出寄存器状态值,还是用cube工具读出来,都是BFB2为0,DBANK为1。bit22 DBANK 表示单bank和双bank的数据大小。同时我自己实测下来,默认状态的最小擦除是2k,但用hal的api,双bank操作不行,实际应该是单bank,但是single bank的擦除又是2k,和手册的最小4k不一致。。
下图是手册的bank模式的判定寄存器说明和cube工具的读出。
下图是手册说明,bank模式不同,分区和最小擦除单位不同。g474cbt6是3类flash
下图说DBANK是1,表示双bank。
我这边,上电默认 BFB2 是0, DBANK是1,我试了很多次结果一致,同时擦除最小单位2k,擦除用single bank模式可以覆盖全部。我实在有点搞不懂,感觉混在一起了,不知道是不是我理解不对,望各位大佬指点一下


使用特权

评论回复
沙发
豌豆爹| | 2024-11-11 12:12 | 只看该作者
根据STM32G474的技术手册,Flash模式的判定主要依赖于Flash选项寄存器中的特定位。其中,BFB2位和DBANK位是关键。

使用特权

评论回复
板凳
AdaMaYun| | 2024-11-11 17:14 | 只看该作者
dual bank是支持双flash区域,一边操作不影响另外一块,最小擦除是2k.

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

414

主题

1987

帖子

1

粉丝