[STM32F1]

flash内的数据发生变化,程序不能运行。

[复制链接]
499|20
手机看帖
扫描二维码
随时随地手机跟帖
djz1992|  楼主 | 2020-11-27 15:18 | 显示全部楼层 |阅读模式
本帖最后由 djz1992 于 2020-12-1 08:46 编辑

123.png
如上图,最近一批板子烧写程序后正常,但是有一部分会在断电后,再次上电无法启动。
查找原因,外围电路没什么异常,读取异常芯片内部数据,发现0x08000000处的数据跟正常的芯片不一样。
再次烧写后运行正常,再次读取发现数据与正常芯片一致。

所有芯片烧写都使用的是烧写工装,所有出错的板子之前与现在,烧写的肯定是同一个文件。
而且当时烧写完之后运行也是正常的。

不存在强磁干扰,在网上看到很多干扰引起flash内数据出现不定位置、不定内容的变化。
但是我这个是特定位置(0x08000000),特定值(0x0000)的变化,相当奇怪。
求教各位大佬,是否遇到过此类问题。

追加:从生产厂拿回一批板子,找到了一点共性。出问题的板子都喷了三防漆(一百块喷漆的,大概有10块有问题),还没喷漆的板子都没出问题(100块没喷的,都没问题)。
喷漆会影响芯片我倒没什么经验,难不成生产厂因为进度问题,三防漆没干透就上电也会有影响???


@m564522634 @ufbycd @xyz549040622 @dirtwillfly @icecut @zhuyemm  

使用特权

评论回复
评论
djz1992 2020-11-28 08:24 回复TA
@dirtwillfly :不应该啊,这个程序已经量产了上万台了,不至于吧 
dirtwillfly 2020-11-27 17:26 回复TA
可能程序跑飞给修改了 
xyz549040622| | 2020-11-27 16:29 | 显示全部楼层
你确定所有芯片都是原装正品吗?

使用特权

评论回复
djz1992|  楼主 | 2020-11-28 08:25 | 显示全部楼层
xyz549040622 发表于 2020-11-27 16:29
你确定所有芯片都是原装正品吗?

这是什么说法?

使用特权

评论回复
xyz549040622| | 2020-11-28 10:00 | 显示全部楼层

怀疑出问题的部分是不是假芯片了

使用特权

评论回复
zchong| | 2020-11-28 15:12 | 显示全部楼层
查程序,看看是不是瞎写了

使用特权

评论回复
dalarang| | 2020-11-28 15:50 | 显示全部楼层
应该是程序有问题,先查找一下是否程序里有写FLASH的地方,写完后要及时开启FLASH的写保护。再查查哪里有指针越界的地方,有没有地方可能对地址0写入了数据0.

使用特权

评论回复
bbapple| | 2020-11-28 19:25 | 显示全部楼层
围电路没什么异常,读取异常芯片内部数据,发现0x08000000处的数据跟正常的芯片不一样。是不是要检查一下芯片情况??

使用特权

评论回复
CallReceiver| | 2020-11-28 19:36 | 显示全部楼层
所有芯片烧写都使用的是烧写工装,所有出错的板子之前与现在,烧写的肯定是同一个文件。

使用特权

评论回复
androidbus| | 2020-11-28 19:48 | 显示全部楼层
所有出错的板子之前与现在,烧写的肯定是同一个文件。

使用特权

评论回复
shashaa| | 2020-11-28 20:12 | 显示全部楼层
在网上看到很多干扰引起flash内数据出现不定位置、不定内容的变化。

使用特权

评论回复
djz1992|  楼主 | 2020-11-30 08:28 | 显示全部楼层
bbapple 发表于 2020-11-28 19:25
围电路没什么异常,读取异常芯片内部数据,发现0x08000000处的数据跟正常的芯片不一样。是不是要检查一下芯 ...

问题是这些发生故障的芯片,一开始也是可以正常运行的。是后来才出现的故障

使用特权

评论回复
djz1992|  楼主 | 2020-11-30 08:29 | 显示全部楼层
zchong 发表于 2020-11-28 15:12
查程序,看看是不是瞎写了

程序以前几万个都运行正常的

使用特权

评论回复
jcky001| | 2020-11-30 08:59 | 显示全部楼层
你可能买到个假芯片

使用特权

评论回复
djz1992|  楼主 | 2020-11-30 11:39 | 显示全部楼层
xyz549040622 发表于 2020-11-28 10:00
怀疑出问题的部分是不是假芯片了

假芯片会出现,一开始烧进去可以运行,然后突然不行了,重新烧录又可以了,这样的情况吗

使用特权

评论回复
xyz549040622| | 2020-11-30 14:44 | 显示全部楼层
djz1992 发表于 2020-11-30 11:39
假芯片会出现,一开始烧进去可以运行,然后突然不行了,重新烧录又可以了,这样的情况吗 ...

flash擦写次数到了也有可能的,鬼知道。

使用特权

评论回复
zchong| | 2020-11-30 19:18 | 显示全部楼层
djz1992 发表于 2020-11-30 08:29
程序以前几万个都运行正常的

意思是会不会越界?指针乱指之类的

使用特权

评论回复
djz1992|  楼主 | 2020-12-1 08:45 | 显示全部楼层
xyz549040622 发表于 2020-11-30 14:44
flash擦写次数到了也有可能的,鬼知道。

从生产厂拿回一批板子,找到了一点共性。出问题的板子都喷了三防漆(一百块喷漆的,大概有10块有问题),还没喷漆的板子都没出问题(100块没喷的,都没问题)。
喷漆会影响芯片我倒没什么经验,难不成生产厂因为进度问题,三防漆没干透就上电也会有影响???

使用特权

评论回复
xyz549040622| | 2020-12-1 09:44 | 显示全部楼层
djz1992 发表于 2020-12-1 08:45
从生产厂拿回一批板子,找到了一点共性。出问题的板子都喷了三防漆(一百块喷漆的,大概有10块有问题), ...

你可以换一种三防漆,或者拿一块让ST去进行检测,也没接触过三防漆影响的问题,等待高手的解答。

使用特权

评论回复
icecut| | 2020-12-1 19:25 | 显示全部楼层
拆个坏的芯片, 焊接到没有三防漆上. 看看会不会坏

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:人生苦短,冬日苦长,正是青葱,却无骄阳

113

主题

616

帖子

5

粉丝