在STM32f779ii上设置双存储区模式

时间:2019-09-02 12:46:55

标签: c stm32 stm32f7

我正在尝试为STM32F779II设置双存储区模式,但根本没有设置。

所以我在尝试以下代码之前先尝试了

sql

当我尝试检查内存是在单模式还是双模式时:

  HAL_FLASH_Unlock();

  HAL_FLASH_OB_Unlock();

  FLASH->OPTCR |= FLASH_OPTCR_nDBANK_Msk;

  HAL_FLASH_OB_Lock();

  HAL_FLASH_Lock();

但是该语句永远不会设置为true。

1 个答案:

答案 0 :(得分:1)

该过程在参考手册中进行了描述。

  

要修改用户选项值,请遵循以下顺序:

     
      
  1. 通过检查存储器中的BSY位来检查是否没有正在进行的闪存操作   FLASH_SR寄存器
  2.   
  3. 在FLASH_OPTCR寄存器中写入所需的选项值。
  4.   
  5. 设置FLASH_OPTCR寄存器中的选项起始位(OPTSTRT)
  6.   
  7. 等待清除BSY位。
  8.   

您仅实现了步骤2。

请注意,要设置双存储区模式,您必须清除该位。

  

第29位nDBANK:非双存储区模式

     

1:Flash用户区域被视为具有256位读取访问权限的单个存储区。

     

0:Flash用户区域被视为具有128位读取访问权限的双存储区(双存储区模式功能处于活动状态)