我正在尝试为STM32F779II设置双存储区模式,但根本没有设置。
所以我在尝试以下代码之前先尝试了
sql
当我尝试检查内存是在单模式还是双模式时:
HAL_FLASH_Unlock();
HAL_FLASH_OB_Unlock();
FLASH->OPTCR |= FLASH_OPTCR_nDBANK_Msk;
HAL_FLASH_OB_Lock();
HAL_FLASH_Lock();
但是该语句永远不会设置为true。
答案 0 :(得分:1)
该过程在参考手册中进行了描述。
要修改用户选项值,请遵循以下顺序:
- 通过检查存储器中的BSY位来检查是否没有正在进行的闪存操作 FLASH_SR寄存器
- 在FLASH_OPTCR寄存器中写入所需的选项值。
- 设置FLASH_OPTCR寄存器中的选项起始位(OPTSTRT)
- 等待清除BSY位。
您仅实现了步骤2。
请注意,要设置双存储区模式,您必须清除该位。
第29位nDBANK:非双存储区模式
1:Flash用户区域被视为具有256位读取访问权限的单个存储区。
0:Flash用户区域被视为具有128位读取访问权限的双存储区(双存储区模式功能处于活动状态)