使用stm32f103rct6,flash数据莫名被改变

2019-07-14 18:01发布

我的程序中设定STM32的地址0x08037800以后的地址用来存储数据,当我使用数据的时候我就会从地址0x08037800来读取,这程序已经用在几万台产品上了,可最近出现2次很奇怪的现象,我读数据的时候前几次是正常的,然后突然就不正常了,用仿真时发现有3个字节的值被改成了0x00,我想不通这3个字节的值为什么会改变,如果是误擦除的话stm32也是擦除一页的,不可能是3个字节,而且不会变成0x00,而是0xff。我实在想不通求各位帮忙。图上的结构体就是我仿真的这图是程序正常时仿真的,那2次很奇怪的现象就是结构体里面的userCode前3个字节被改成了0x00
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
5条回答
曹志静1314
1楼-- · 2019-07-15 01:23
有可能跟其它的数据冲突了,都是用了同一个地址。
TOPCB
2楼-- · 2019-07-15 03:12
建议楼主排查一下MAP文件,这个地址附近都是哪些定义或者函数。还有,会不会是自己写入数据的试试,缓冲区被别的地方冲掉,导致写入的就是错误的呢?
www030
3楼-- · 2019-07-15 04:49
谢谢楼上几位朋友,楼主问题如果解决了回复一下哦,如果没有,可以继续追问滴
zerocq
4楼-- · 2019-07-15 10:01
 精彩回答 2  元偷偷看……
cnm7
5楼-- · 2019-07-15 14:35
可能是参数搞错了,指向错误的地址

一周热门 更多>