• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

STM32怎么擦除指定地址的flash数据

提刀上马 2020-03-24 浏览量:1553
STM32怎么擦除指定地址的flash数据
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • STM32要擦除指定指定的数据,其实最简单的思路就是把指定地址的数据写成00,可以直接用这个函数

    FLASH_Status FLASH_ProgramOptionByteData(uint32_t Address uint8_t Data);//用户选择字节写入函数​

    • 发布于 2020-03-30
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:2
  • flash不像EEPROM可以按地址擦除,而只能按块擦除的。

    如果地址中只有一个地方数据需要清除,也需要整块擦除,

    具体的方法就是把涉及块 的所有数据读入内存,把对应地址处的特殊处理,然后整块擦除,再把备份数据重新写入。


    因为这样操作的成本很高,所以使用flash的策略中一般不进行(尽量避免)这样的操作。

    • 发布于2020-03-24
    • 举报
    • 评论 0
    • 0
    • 0

  • 需要把一页数据读取出来保存在ram里,然后把这一页一起擦除,然后写入ram数据和自己的数据,擦除方式需要先解锁flash写完在上锁
    • 发布于2020-03-24
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

STM32怎么擦除指定地址的flash数据