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

[复制链接]
 楼主| 麻花油条 发表于 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模式页擦除话题
您需要登录后才可以回帖 登录 | 注册

本版积分规则

299

主题

1607

帖子

3

粉丝
快速回复 在线客服 返回列表 返回顶部