硬汉嵌入式论坛

 找回密码
 立即注册
查看: 745|回复: 6
收起左侧

[STM32H7] 【FLASH操作】单片机内部flash怎么单个字节写入呢?

[复制链接]

32

主题

143

回帖

244

积分

高级会员

积分
244
发表于 2022-12-16 23:07:40 | 显示全部楼层 |阅读模式
内部flash 每个扇区2kb,最小只支持半字写入如果只想在特定位置写入一个字节(其它位置数据不更改),有什么好方法操作呢?
是整个扇区数据都读出来,修改数据、擦除整个扇区,再写入全部数据吗?
有其他方法吗?




回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107898
QQ
发表于 2022-12-17 13:59:08 | 显示全部楼层
确实只有这样,你用的Flash只有2KB,这个好很多。

像H7系列的扇区最小128KB,完全都没法这样玩了。
回复

使用道具 举报

32

主题

143

回帖

244

积分

高级会员

积分
244
 楼主| 发表于 2022-12-17 14:52:02 | 显示全部楼层
eric2013 发表于 2022-12-17 13:59
确实只有这样,你用的Flash只有2KB,这个好很多。

像H7系列的扇区最小128KB,完全都没法这样玩了。

比如:01 02 03 FF FF FF FF ...........
这样的可以不擦除,直接从03后面接着写吗?
回复

使用道具 举报

32

主题

143

回帖

244

积分

高级会员

积分
244
 楼主| 发表于 2022-12-17 15:01:40 | 显示全部楼层
eric2013 发表于 2022-12-17 13:59
确实只有这样,你用的Flash只有2KB,这个好很多。

像H7系列的扇区最小128KB,完全都没法这样玩了。

像H7这种大扇区的,一般都是字节对齐,不够补零吗?
回复

使用道具 举报

0

主题

15

回帖

15

积分

新手上路

积分
15
发表于 2022-12-17 15:32:03 | 显示全部楼层
只能 读-改-写
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107898
QQ
发表于 2022-12-17 15:39:37 | 显示全部楼层
Biby 发表于 2022-12-17 14:52
比如:01 02 03 FF FF FF FF ...........
这样的可以不擦除,直接从03后面接着写吗?

这种的没问题。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107898
QQ
发表于 2022-12-17 15:41:56 | 显示全部楼层
Biby 发表于 2022-12-17 15:01
像H7这种大扇区的,一般都是字节对齐,不够补零吗?

H7 的 Flash 编程时,务必保证要编程的地址是 32 字节对齐的,即此地址对 32 求余为 0。并
且编程的数据必须 32 字节整数倍。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-6-18 03:52 , Processed in 0.211288 second(s), 26 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表