• 已解决 35434 个问题
  • 已帮助 5838 位优秀工程师

stm32内部flash写函数每次写入都是要把整个扇区擦除么

yhj416606438 2020-11-22 浏览量:61
是不是每次写入都是要把整个扇区擦除才行,还是说擦除的是当前字节内容
单片机 STM32
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
所有亮答 数量:5
  • 依据flash写入性质,必须是块(扇区)初始化后才能写入。

    更准确的是 如果是擦除后没有写入的区域,是可以按字节来写入的,但写入后的区域需要擦除后才能再次写入。

    而擦除操作只能按块(扇区)进行。


  • FALSH  支持单字节多字节写入,但是擦除的时候必须是整个扇区进行擦除。

    这个和EEPROM还是有区别的。另外FLASH的可擦除寿命一般只有10K左右,而EEPROM的寿面远大于这个值

  • 这个STM32的机制问题,擦时,就是整个扇区进行擦的

  • flash的特性决定了只能擦鞋一个扇区,如果需要擦写特定的几个字节,需要先把整个三区的数据提出来,然后修改你需要擦写的部分,再把这部分内容写进去,模拟eeprom就是这么操作的

  • 是的,这个芯片的Flash的块一定要按区进行写入与擦除的。不能按字节

    如果要按字节 ,可以选择外问的Flash

stm32内部flash写函数每次写入都是要把整个扇区擦除么