硬汉嵌入式论坛

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

[有问必答] 请教stm32f1大容量的flash操作

[复制链接]

73

主题

1195

回帖

1414

积分

至尊会员

积分
1414
发表于 2020-8-6 20:25:55 | 显示全部楼层 |阅读模式
硬汉哥我使用stm32f103zet的型号,在写flash的时候,我知道必须要写2字节,同时地址要偶数对齐
请问,我下面这么定义

#define DATA_STR_ADDR1           0x0807FB00     //标志位数据存储区
#define DATA_STR_ADDR2           0x0807FC00     //标志位数据存储区
#define DATA_STR_ADDR3           0x0807FD00     //标志位数据存储区
#define DATA_STR_ADDR4           0x0807FE00     //标志位数据存储区
#define DATA_STR_ADDR5           0x0807FF00     //标志位数据存储区

那么我如果在0x0807FE00写数据,理论上会不会影响0x0807FB00区域的数据呢?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106882
QQ
发表于 2020-8-7 01:50:15 | 显示全部楼层
是否是固定写入的值,中途不会修改,如果是中途不打算修改,直接XXXX,S的中断向量表里面开个位置即可,简单省事,不出错。
回复

使用道具 举报

73

主题

1195

回帖

1414

积分

至尊会员

积分
1414
 楼主| 发表于 2020-8-7 06:20:51 | 显示全部楼层
eric2013 发表于 2020-8-7 01:50
是否是固定写入的值,中途不会修改,如果是中途不打算修改,直接XXXX,S的中断向量表里面开个位置即可,简单 ...

硬汉你的方法不太会,能否给个例子?
回复

使用道具 举报

334

主题

2036

回帖

3043

积分

版主

Rank: 7Rank: 7Rank: 7

积分
3043
发表于 2020-8-7 10:19:56 | 显示全部楼层
你更需要关注flash的扇区。 因为每次都是整个扇区的擦除,和写入。  一般必须把整个扇区读出来缓存到一个数组,然后擦除扇区,修改数组必要的数据后,再整体写入这个扇区。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106882
QQ
发表于 2020-8-7 10:31:04 | 显示全部楼层
wdliming 发表于 2020-8-7 06:20
硬汉你的方法不太会,能否给个例子?

H7-TOOL的APP工程里面看XXX.S启动文件,里面存入了固件版本。

http://www.armbbs.cn/forum.php?mod=viewthread&tid=95468

回复

使用道具 举报

73

主题

1195

回帖

1414

积分

至尊会员

积分
1414
 楼主| 发表于 2020-8-8 15:23:46 | 显示全部楼层
caicaptain2 发表于 2020-8-7 10:19
你更需要关注flash的扇区。 因为每次都是整个扇区的擦除,和写入。  一般必须把整个扇区读出来缓存到一个数 ...

谢谢您的指点
回复

使用道具 举报

73

主题

1195

回帖

1414

积分

至尊会员

积分
1414
 楼主| 发表于 2020-8-8 15:24:02 | 显示全部楼层
eric2013 发表于 2020-8-7 10:31
H7-TOOL的APP工程里面看XXX.S启动文件,里面存入了固件版本。

http://www.armbbs.cn/forum.php?mod=vi ...

谢谢硬汉哥
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-9 00:18 , Processed in 0.162506 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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