[STM32H7] STM32H743一个扇区128K,扇区中间地址写数据,地址前后的数据内容不变,有什么好的方法?

[复制链接]
童雨竹 发表于 2025-1-24 14:18 | 显示全部楼层
把扇区里的数据全都备份到RAM或者外部存储,修改后再整体写回去,这样能保证其他数据不丢失。
万图 发表于 2025-1-24 14:19 | 显示全部楼层
STM32的闪存支持双区,你可以试试用两个扇区轮流存数据,擦除一个扇区时把数据临时存到另一个。
Wordsworth 发表于 2025-1-24 14:21 | 显示全部楼层
平时如果经常需要修改小数据,可以试试加个文件系统,比如FatFS或者LittleFS,方便管理数据块。
Bblythe 发表于 2025-1-24 14:22 | 显示全部楼层
如果对擦除速度要求不高,还是按步骤来:先备份,修改数据,再写回。这个方法稳得很。
Pulitzer 发表于 2025-1-24 14:23 | 显示全部楼层
你也可以试试用外部QSPI闪存,很多支持按页擦除,粒度更小,操作更灵活。
Uriah 发表于 2025-1-24 14:25 | 显示全部楼层
想省事一点的话,可以把要写入的数据设计成循环存储,比如用日志的方式,不用频繁改动老数据。
Clyde011 发表于 2025-1-24 14:26 | 显示全部楼层
如果预算允许,直接上STM32H7系列支持的片上NOR闪存,它有些型号的擦除粒度比128K更小。
地瓜patch 发表于 2025-1-24 15:02 来自手机 | 显示全部楼层
全部读出,再擦除,再写入
地瓜patch 发表于 2025-1-24 15:03 来自手机 | 显示全部楼层
周半梅 发表于 2025-1-24 14:16
你可以用外部的EEPROM或者FRAM存储小块数据,这样就不用担心扇区擦除的问题了。 ...

这个办法好,小数局用eep,大数据用flash
芯路例程 发表于 2025-1-25 17:50 | 显示全部楼层
扇区地址不是固定的吗?
AutoMotor 发表于 2025-1-25 21:26 | 显示全部楼层
然后擦除指定地址的数据,很好
PreWorld 发表于 2025-1-26 22:24 | 显示全部楼层
这个操作的意义是什么?我觉得把数据放在后面比较好,程序放在前面比较好
理想阳 发表于 2025-1-27 15:18 | 显示全部楼层
写入数据需要擦除整个扇区。该扇区的其他数据页已被擦除。为什么不更改该扇区其他地址的数据?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 在线客服 返回列表 返回顶部