一、判定依据
根据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模式。 |