感谢,在使用手册 FLASH控制器的7.7节 寄存器写保护看到说明了,这里也贴上来吧
7.7 寄存器写保护
本模块的重要控制器屏蔽普通的写操作,必须用写序列方式才能修改。
需要通过写序列方式才能更改的寄存器如下所示:
FLASH_TNVS、FLASH_TPGS、FLASH_TPROG、FLASH_TSERASE、FLASH_TMERASE、
FLASH_TPRCV、FLASH_TSRCV、FLASH_TMRCV、FLASH_CR、FLASH_SLOCK。
不需要通过写序列方式即可更改的寄存器如下所示:
FLASH_ICLR、FLASH_BYPASS。
通过写序列方式修改寄存器值的具体操作步骤如下所示:
Step1:向 FLASH_BYPASS 寄存器写入 0x5A5A。
Step2:向 FLASH_BYPASS 寄存器写入 0xA5A5。
Step3:对待修改的寄存器写入目标值。
Step4:验证待修改的寄存器的当前值是否与目标值相同,如不相同则跳转到 Step1。
Step5:执行其它操作。
注意:
– 写 0x5a5a 和写 0xa5a5 这两步操作之间不可插入任何写操作,不可以被中断打断,
否则该 Bypass 序列会失效,需要重新写入 0x5a5a-0xa5a5 序列。
|