硬汉嵌入式论坛

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

[stm32f429]FLASH数据莫名其妙被清零

[复制链接]

3

主题

13

回帖

22

积分

新手上路

积分
22
发表于 2021-3-30 11:30:42 | 显示全部楼层 |阅读模式
芯片:STM32F429ZGT6问题:flash数据貌似被清零了  还是读出的时候就读错了 不确定

我固定在0x08010000地址开始开辟了一个64k大小的数组 用来存数据    这个地址只有在通信的时候才会置位标志位,把数据写到0x1000 0000 地址上 , 然后在掉电的时候会把0x10000000的数据写入到0x08010000这个地址(已确定掉电时间足够把数据写完,而且写过之后下次不会再触发写入只有通信的时候操作了才会写入),上电的时候会把0x08010000地址数据再次读到0x10000000 地址上
现在在客户现场用了好几个月都很正常,然后这几天出现前面有100多个字节被置为0了  现在没有任何找不到原因 ,问题很难复现, 想请论坛各位大佬们帮忙分析分析是什么原因造成的
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107101
QQ
发表于 2021-3-30 14:44:27 | 显示全部楼层
不清楚这个问题。

使用内部Flash做掉电保护的数据存储,感觉不太靠谱。
回复

使用道具 举报

3

主题

13

回帖

22

积分

新手上路

积分
22
 楼主| 发表于 2021-3-30 15:22:03 | 显示全部楼层
eric2013 发表于 2021-3-30 14:44
不清楚这个问题。

使用内部Flash做掉电保护的数据存储,感觉不太靠谱。

我用的标准库 在擦除写入flash的时候没有关闭复位数据缓存和指令缓存会不会有影响
回复

使用道具 举报

20

主题

114

回帖

174

积分

初级会员

积分
174
发表于 2021-3-30 18:12:22 | 显示全部楼层
面包人 发表于 2021-3-30 15:22
我用的标准库 在擦除写入flash的时候没有关闭复位数据缓存和指令缓存会不会有影响

开始几个月正常,就说明这个一个“时间积累”的问题,应该是有的变量溢出或边界问题。
将写入和读取的时间“人为缩短”测试试试。
回复

使用道具 举报

41

主题

215

回帖

338

积分

高级会员

积分
338
发表于 2021-4-6 22:33:03 | 显示全部楼层
写内部flash,关总中断了吗?加电池是正确做法,其它都是野路子。
回复

使用道具 举报

335

主题

2040

回帖

3050

积分

版主

Rank: 7Rank: 7Rank: 7

积分
3050
发表于 2021-4-7 08:26:49 | 显示全部楼层
本帖最后由 caicaptain2 于 2021-4-7 08:28 编辑

内部flash的擦除时间变化很大,有时候可能长达1~2秒钟。。。。你的电容储能可以坚持吗?而且,擦除写入flash需要电压较高,电容坚持的有效电压可能并不长。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-17 19:18 , Processed in 0.167453 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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