打印
[STM32G4]

如何判定STM32G474的Flash模式为Single Bank还是Dual Bank

[复制链接]
1038|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
麻花油条|  楼主 | 2024-11-11 11:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
一、判定依据
根据STM32G474的技术手册,Flash模式的判定主要依赖于Flash选项寄存器中的特定位。其中,BFB2位和DBANK位是关键。
BFB2位:当BFB2位为0时,表示Flash处于Single Bank模式;当BFB2位为1时(在某些情况下,这可能需要特定的设置或操作来触发),可能表示Flash支持Dual Bank模式,但具体还需结合DBANK位来判断。
DBANK位:DBANK位(通常位于Flash选项寄存器的较高位,如bit22)用于直接指示Flash是否为Dual Bank模式。当DBANK为1时,表示Flash支持Dual Bank模式;当DBANK为0时,表示Flash为Single Bank模式。
二、判定步骤
读取Flash选项寄存器:首先,需要使用适当的方法(如通过STM32的HAL库或直接操作寄存器)来读取Flash选项寄存器的值。
检查BFB2位:读取到的寄存器值中,检查BFB2位的值。如果BFB2为0,则初步判断为Single Bank模式;如果BFB2为1(且考虑到DBANK位的影响),则可能需要进一步判断。
检查DBANK位:在BFB2位为1或存在疑问的情况下,检查DBANK位的值。如果DBANK为1,则确认Flash为Dual Bank模式;如果DBANK为0,则确认Flash为Single Bank模式。

使用特权

评论回复
沙发
AdaMaYun| | 2024-11-11 16:48 | 只看该作者
在BFB2位为1或存在疑问的情况下,检查DBANK位的值可以判断模式

使用特权

评论回复
板凳
哈根达斯uz| | 2024-11-14 22:46 | 只看该作者
通常位于Flash选项寄存器的较高位

使用特权

评论回复
地板
香水城| | 2024-11-15 10:10 | 只看该作者
本帖最后由 香水城 于 2024-11-15 10:12 编辑

DBANK位是决定芯片是工作在单BANK还是双BANK模式的唯一控制位。DBANK=0使用单BANK模式,
DBANK=1使用双BANK模式。至于BFB2是另一个意思。

BFB2位是标志芯片是否支持从BANK2启动的控制位,显然该位有效的前提是使用 双BANK,即DBANK位=1.
STM32G4 双BANK Flash模式页擦除话题

使用特权

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

本版积分规则

279

主题

1458

帖子

2

粉丝