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

stm32 的 flash 操作

liangeeg 2019-11-07 浏览量:825
stm32  的flash在使用的时候 每次都需要擦除后再写入,但是擦除的时候直接是按页擦除,难道flash每次都是整页整页的使用吗
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 是的,只能页擦出,或者整个芯片全部擦出,对于写的话只要内部没写过数据是0xff就可以写新的数据,不用擦除
    • 发布于 2019-11-07
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:5
  • 这是flash的读写机制决定的,可以不按整页使用,但必须按整页擦除。

    页内分块使用的话擦除时需要先整页读出缓存,等修改完了一起再写进去。

    • 发布于2019-11-07
    • 举报
    • 评论 0
    • 0
    • 0

  • flash每次擦除必须以页为单位,所有的flash都是这样的,包括spi flash与nand flash,读取写入可以按字节的
    • 发布于2019-11-17
    • 举报
    • 评论 0
    • 0
    • 0

  • 使用的时候,是可以一个地址一个地址的使用的,只是在擦除的时候要整个页来进行擦除的。

    这个是芯片设计时的问题,无法解决的

    • 发布于2019-11-20
    • 举报
    • 评论 0
    • 0
    • 0

  • 没办法,读写机制就是这样的,你看外部FLASH的使用也是这样的, 一擦就是一页,所以你写入的时候需要先擦一页然后在写,
    • 发布于2019-11-29
    • 举报
    • 评论 0
    • 0
    • 0

  • 一般擦除都是整页擦除的,因为这样操作的效率高,但是写入只需要按地址写入就可以
    • 发布于2019-12-15
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

stm32 的 flash 操作