打印
[STM32H7]

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

[复制链接]
642|18
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
laocuo1142|  楼主 | 2024-10-8 12:18 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
扇区128K,写数据要擦除整个扇区,扇区的其他数据页被擦除掉了,怎么不改变扇区其他地址的数据不变

使用特权

评论回复
沙发
sfd123| | 2024-10-8 12:27 | 只看该作者
不变的放在一个扇区,变化的放在另外一个扇区?

使用特权

评论回复
板凳
星辰大海不退缩| | 2024-10-8 22:12 | 只看该作者
扇区的地址不是固定的嘛

使用特权

评论回复
地板
略略u| | 2024-10-11 21:53 | 只看该作者
扇区的其他数据页被擦除

使用特权

评论回复
5
Stahan| | 2024-10-13 21:29 | 只看该作者
擦除完了再复制回来

使用特权

评论回复
6
月亮一键变蓝| | 2024-11-6 10:58 | 只看该作者
指定位置写入也是可以的,但是容易误擦到有效数据的

使用特权

评论回复
7
她已醉| | 2024-11-7 01:00 | 只看该作者
在STM32H743微控制器中,Flash存储器的扇区大小为128KB。如果你需要在扇区中间的某个地址写入数据,同时保持该地址前后的数据内容不变,可以使用Flash编程库

使用特权

评论回复
8
我吃小朋友| | 2024-11-7 02:00 | 只看该作者
STM32提供了HAL库和LL库,可以方便地进行Flash编程操作。你可以使用这些库来实现数据的写入和擦除操作

使用特权

评论回复
9
未说出口的像你| | 2024-11-7 03:00 | 只看该作者
使用双缓冲区也是可以支持的

使用特权

评论回复
10
春日负喧| | 2024-11-7 04:00 | 只看该作者
如果你不想擦除整个扇区,可以使用双缓冲区的方法,将数据写入RAM中的缓冲区,然后再将缓冲区数据写回Flash

使用特权

评论回复
11
一只眠羊| | 2024-11-7 05:00 | 只看该作者
读取目标扇区数据到缓冲区:将目标扇区的数据读取到RAM中的缓冲区。修改缓冲区数据:在缓冲区中修改目标地址的数据。写回Flash:将缓冲区的数据写回Flash

使用特权

评论回复
12
温室雏菊| | 2024-11-7 06:00 | 只看该作者
方法一通过擦除整个扇区并恢复数据,适用于对Flash操作要求较高的场景

使用特权

评论回复
13
将爱藏于深海| | 2024-11-7 07:00 | 只看该作者
建议通过双缓冲区的方式,避免了频繁的擦除操作,适用于对Flash寿命要求较高的场景。根据具体需求选择合适的方法即可

使用特权

评论回复
14
在曼谷的春| | 2024-11-7 08:00 | 只看该作者
那你就擦除指定地址数据呗,这就好了啊

使用特权

评论回复
15
失物招領| | 2024-11-7 09:00 | 只看该作者
这种操作意义何在?我觉得不如把数据放在后面,前面的放程序比较好哦

使用特权

评论回复
16
yellow555| | 2024-11-8 21:02 | 只看该作者
写数据要擦除整个扇区,扇区的其他数据页被擦除掉了,怎么不改变扇区其他地址的数据

使用特权

评论回复
17
哈根达斯uz| | 2024-11-14 22:50 | 只看该作者
扇区的其他数据页被擦除掉了

使用特权

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

本版积分规则

1191

主题

5220

帖子

12

粉丝