STM32要擦除指定指定的数据,其实最简单的思路就是把指定地址的数据写成00,可以直接用这个函数
FLASH_Status FLASH_ProgramOptionByteData(uint32_t Address uint8_t Data);//用户选择字节写入函数
flash不像EEPROM可以按地址擦除,而只能按块擦除的。
如果地址中只有一个地方数据需要清除,也需要整块擦除,
具体的方法就是把涉及块 的所有数据读入内存,把对应地址处的特殊处理,然后整块擦除,再把备份数据重新写入。
因为这样操作的成本很高,所以使用flash的策略中一般不进行(尽量避免)这样的操作。