硬汉嵌入式论坛

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

[有问必答] stm32 片内flash写入出现偶发性错误

[复制链接]

6

主题

17

回帖

35

积分

新手上路

积分
35
发表于 2018-7-3 11:06:52 | 显示全部楼层 |阅读模式
具体描述:设备端通过gprs接收到平台的命令,然后更新对应的参数写入片内flash,前段时间客户开始反馈设备某些参数不正确(偶尔出现),根据现象查了一下发现对应的字段变成了0xff(应该是擦除完没有写成功),初步判断为写入过程中中断到来导致写入失败,看了例程里操作flash把中断给关了,写完再打开,准备也这样操作,还想问下,除了写的时候关中断,还需要进行其他的保护措施吗
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107034
QQ
发表于 2018-7-3 13:22:03 | 显示全部楼层
参数的存储最好使用EEPROM,操作内部flash始终是不安全的。
回复

使用道具 举报

6

主题

17

回帖

35

积分

新手上路

积分
35
 楼主| 发表于 2018-7-3 13:59:33 | 显示全部楼层
eric2013 发表于 2018-7-3 13:22
参数的存储最好使用EEPROM,操作内部flash始终是不安全的。

汉大,有一种情况叫产品已经出来,客户正在使用啊,还有其他办法没,求告知
回复

使用道具 举报

6

主题

17

回帖

35

积分

新手上路

积分
35
 楼主| 发表于 2018-7-3 14:02:27 | 显示全部楼层
以后如果需要存数据的话用外部flash(大容量数据)+eeprom(设备运行信息)方案可行不
回复

使用道具 举报

32

主题

295

回帖

391

积分

高级会员

积分
391
发表于 2018-7-3 15:22:15 | 显示全部楼层
片内flash 可以做测试的时候用,正式产品不建议用,擦写次数有限制
回复

使用道具 举报

335

主题

2037

回帖

3047

积分

版主

Rank: 7Rank: 7Rank: 7

积分
3047
发表于 2018-7-3 15:53:15 | 显示全部楼层
我也在这样使用片内flash,产品数量不多,几百片把,没有问题。 操作flash也没有关中断,因为stm32的文档说,flash擦除和存储的时候,cpu总线是完全停止的,无法响应中断,也不影响程序执行。
回复

使用道具 举报

6

主题

17

回帖

35

积分

新手上路

积分
35
 楼主| 发表于 2018-7-3 16:49:06 | 显示全部楼层
caicaptain2 发表于 2018-7-3 15:53
我也在这样使用片内flash,产品数量不多,几百片把,没有问题。 操作flash也没有关中断,因为stm32的文档说 ...

嗯,谢谢版主,随后我也看下st关于写flash的文档。如果写的时候总线停止,不响应中断的话,就是写入操作有问题?因为现象的确是写的时候出现的错误,造成后续读(固定周期读)的时候都是错误的
回复

使用道具 举报

6

主题

17

回帖

35

积分

新手上路

积分
35
 楼主| 发表于 2018-7-3 16:50:37 | 显示全部楼层
weiyuliang 发表于 2018-7-3 15:22
片内flash 可以做测试的时候用,正式产品不建议用,擦写次数有限制

嗯,写的频率不高
回复

使用道具 举报

335

主题

2037

回帖

3047

积分

版主

Rank: 7Rank: 7Rank: 7

积分
3047
发表于 2018-7-3 17:08:03 | 显示全部楼层
一毛 发表于 2018-7-3 16:49
嗯,谢谢版主,随后我也看下st关于写flash的文档。如果写的时候总线停止,不响应中断的话,就是写入操作 ...

我是这样理解的,写入没有问题。
应该是你在写flash‘的时候,gps来数据了,但是你无法响应,丢失了部分字节。。。数据源就是错的。你又不知道,然后又写入flash。
回复

使用道具 举报

0

主题

30

回帖

30

积分

新手上路

积分
30
发表于 2018-8-9 21:07:19 | 显示全部楼层
建议写之前关中断,写完之后,读取出来校验。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-15 06:35 , Processed in 0.221945 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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