发新帖我要提问
12
返回列表
打印
[STM32H7]

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

[复制链接]
楼主: laocuo1142
手机看帖
扫描二维码
随时随地手机跟帖
21
童雨竹| | 2025-1-24 14:18 | 只看该作者 回帖奖励 |倒序浏览
把扇区里的数据全都备份到RAM或者外部存储,修改后再整体写回去,这样能保证其他数据不丢失。

使用特权

评论回复
22
万图| | 2025-1-24 14:19 | 只看该作者
STM32的闪存支持双区,你可以试试用两个扇区轮流存数据,擦除一个扇区时把数据临时存到另一个。

使用特权

评论回复
23
Wordsworth| | 2025-1-24 14:21 | 只看该作者
平时如果经常需要修改小数据,可以试试加个文件系统,比如FatFS或者LittleFS,方便管理数据块。

使用特权

评论回复
24
Bblythe| | 2025-1-24 14:22 | 只看该作者
如果对擦除速度要求不高,还是按步骤来:先备份,修改数据,再写回。这个方法稳得很。

使用特权

评论回复
25
Pulitzer| | 2025-1-24 14:23 | 只看该作者
你也可以试试用外部QSPI闪存,很多支持按页擦除,粒度更小,操作更灵活。

使用特权

评论回复
26
Uriah| | 2025-1-24 14:25 | 只看该作者
想省事一点的话,可以把要写入的数据设计成循环存储,比如用日志的方式,不用频繁改动老数据。

使用特权

评论回复
27
Clyde011| | 2025-1-24 14:26 | 只看该作者
如果预算允许,直接上STM32H7系列支持的片上NOR闪存,它有些型号的擦除粒度比128K更小。

使用特权

评论回复
28
地瓜patch| | 2025-1-24 15:02 | 只看该作者
全部读出,再擦除,再写入

使用特权

评论回复
29
地瓜patch| | 2025-1-24 15:03 | 只看该作者
周半梅 发表于 2025-1-24 14:16
你可以用外部的EEPROM或者FRAM存储小块数据,这样就不用担心扇区擦除的问题了。 ...

这个办法好,小数局用eep,大数据用flash

使用特权

评论回复
30
芯路例程| | 2025-1-25 17:50 | 只看该作者
扇区地址不是固定的吗?

使用特权

评论回复
31
AutoMotor| | 2025-1-25 21:26 | 只看该作者
然后擦除指定地址的数据,很好

使用特权

评论回复
32
PreWorld| | 2025-1-26 22:24 | 只看该作者
这个操作的意义是什么?我觉得把数据放在后面比较好,程序放在前面比较好

使用特权

评论回复
33
理想阳| | 2025-1-27 15:18 | 只看该作者
写入数据需要擦除整个扇区。该扇区的其他数据页已被擦除。为什么不更改该扇区其他地址的数据?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则