存放在stm32内部flash的数据会有一页数据丢失的现象

2019-12-27 19:02发布

flash的最后一页用来存储参数,设备重复进行上下电操作,存放在stm32内部flash的数据会有一页较低的概率出现数据丢失的现象,整页的数据变成0xFF,在上电经过延时后会读取保存的参数。
这会不会是电源因素导致的?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
40条回答
huarana
1楼-- · 2019-12-27 19:32
有可能,电源不稳的情况下操作内部flash和eep就有自宫的可能。
hyghyg1234
2楼-- · 2019-12-28 00:52
 精彩回答 2  元偷偷看……
NIC
3楼-- · 2019-12-28 03:03
hyghyg1234 发表于 2017-5-17 22:34
代码发出来,不然没法判断。

代码很简单,这个测试过程中跟flash有关的就是在上电几秒后就调用了下面这个读函数
void StmFlash_Read(unsigned int ReadAddr,unsigned short int *pBuffer,unsigned short int NumToRead)     
{
  unsigned short int i;

  for(i=0; i<NumToRead; i++)
  {
    pBuffer = StmFlash_ReadHalfWord(ReadAddr);//读取 2 个字节.
    ReadAddr+=2;//偏移2个字节.
  }
}
68336016
4楼-- · 2019-12-28 07:56
本帖最后由 68336016 于 2017-5-17 22:54 编辑

STM32的POR,PDR,PVD这些上下电有关的,可以看看是否有作用。
xivisi
5楼-- · 2019-12-28 11:40
程序中 是否有擦除FLASH的?  很有可能断电时,代码飞到那里
成就与价值
6楼-- · 2019-12-28 16:35
LZ 有测试过Flash的时序吗?会不会有指令误识别的情况?

一周热门 更多>