描述:由于GD 的Flash 是自己的专利技术,STM 的Flash 是第三方提供的,所以GD 的Flash 和STM 的Flash 有些许差异。GD 的擦除时间会长一点.
解决方法:在写完KEY 序列以后,需要读该位,确认key 已生效。 所以,这里应该插入
While( ! (FLASH->CR & 0x200 ) ); // Wait OPTWRE 或可简单插入两个NOP。
__NOP();
__NOP();
在ST 库中,只有
FLASH_Status FLASH_EraseOptionBytes(void)
FLASH_Status FLASH_ProgramOptionByteData(uint32_t Address, uint8_t Data)
FLASH_Status FLASH_EnableWriteProtection(uint32_t FLASH_Pages)
FLASH_Status FLASH_ReadOutProtection(FunctionalState NewState)
四个函数需要修改。
---------------------
本文来自 o0o0o0D 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/o0o0o0d/article/details/53761397?utm_source=copy |