[应用相关] 部分产品随机死机,请大家提供解决思路(已解决)

[复制链接]
5933|37
 楼主| KC_CEC 发表于 2015-11-10 15:40 | 显示全部楼层 |阅读模式
本帖最后由 KC_CEC 于 2015-11-12 11:54 编辑

现象如下:
1、一批次产品(100台)中,有10台左右会发生死机,其他的工作稳定。烧写的程序是一模一样的。
2、死机现象:整机冷启动下,死机概率很大,有的一开机就会死。随着运行一段时间,温度上升死机概率慢慢减小。

尝试过的解决方案:
1、更换PCB绝大部分主芯片和单片机外围电路,死机依旧。只有更换PCB才会正常,但是PCB是金百泽做的,应该不会是PCB质量问题。
2、使用的单片机为stm32f4,应用了STemwin,死机时代码会进入HardFault_Handler,通过查看代码出问题在STemwin库里面,所以没有办法继续查下去。
3、串口打印可能容易出BUG的代码段,但是证明那些位置都没有挂。。。

请帮忙提供思路,谢谢!


谢谢各位,已找到解决方法:
目前将F4读写SRAM的速度降低很多,低温测试10多台都可以正常稳定工作!

@laoxu 提供了正确的解决方法,佩服。

sail8498 发表于 2015-11-10 19:12 | 显示全部楼层
把有问题的电路板放洗板水里洗一下,或者用牙刷加洗板水洗一下,也许有效。
因为我试过做STM8的片子时因为用了焊膏没清洗导到十多片样板各种重启,后来发现是焊膏残留导至的。
 楼主| KC_CEC 发表于 2015-11-10 20:52 | 显示全部楼层
sail8498 发表于 2015-11-10 19:12
把有问题的电路板放洗板水里洗一下,或者用牙刷加洗板水洗一下,也许有效。
因为我试过做STM8的片子时因为 ...

贴片厂家最后都会洗一次,而且回来我们也检查过,是洗得比较干净的。
所以,应该不是这个问题导致的
mei326 发表于 2015-11-10 21:41 | 显示全部楼层
我以前出现过32768的晶振导致死机的
643757107 发表于 2015-11-10 22:23 | 显示全部楼层
因为不是所有的都死机,那么可以考虑是不是硬件设计时候抗干扰能力不够,或者焊接的问题,如果抗干扰能力不够,就要看你具体的代码怎么操作了。
菜鸟同学 发表于 2015-11-10 22:41 来自手机 | 显示全部楼层
内存非法访问。
m564522634 发表于 2015-11-11 07:26 | 显示全部楼层
你应该要知道HardFault_Handler产生的原因是什么才好做判断了
m564522634 发表于 2015-11-11 07:28 | 显示全部楼层
生产HardFault_Handler是原因有好多种了,你应该找到到是哪种
皈依 发表于 2015-11-11 07:41 | 显示全部楼层
本帖最后由 皈依 于 2015-11-11 07:44 编辑

ST可以把HardFault_Handler的故障信息打印出来的 一般都是硬件问题。
如果是双面板 板面比较大的话可能会因为温度的问题产生形变,导致贴片的虚焊出现不同的现象。
要仔细查看焊接点,有条件的话把每个焊点自己手工再焊接一遍
仅是猜测,但是这个问题我之前遇到过~
myxiaonia 发表于 2015-11-11 08:37 | 显示全部楼层
使用外部存储器了么
hyhmh 发表于 2015-11-11 09:06 | 显示全部楼层
应该是硬件上的问题,当然也可能有软件的参与(如上电过程,某些硬件缺陷,而软件又必须获得某此IO的支持才能进入下一步)
将有问题的机子对应的PCB,MCU及关键外围,手工再焊一遍——试着弄几台,看看效果。
shauew 发表于 2015-11-11 09:35 | 显示全部楼层
应该是程序死了,和硬件无关。
emwin给的都是库,源代码无法查看,建议按照用户手册来使用,注意接口参数,不匹配会出错。
lgq1542380129 发表于 2015-11-11 09:46 | 显示全部楼层
楼主把给emwin的内存空间开大点试试。
 楼主| KC_CEC 发表于 2015-11-11 10:09 | 显示全部楼层
myxiaonia 发表于 2015-11-11 08:37
使用外部存储器了么

用了外部sram
 楼主| KC_CEC 发表于 2015-11-11 10:12 | 显示全部楼层
lgq1542380129 发表于 2015-11-11 09:46
楼主把给emwin的内存空间开大点试试。

emwin没有应用到窗口,480*320的16位色TFT占用300K内存 我分配了350k。
 楼主| KC_CEC 发表于 2015-11-11 10:13 | 显示全部楼层
hyhmh 发表于 2015-11-11 09:06
应该是硬件上的问题,当然也可能有软件的参与(如上电过程,某些硬件缺陷,而软件又必须获得某此IO的支持才 ...

好的,我去试试
kseeker 发表于 2015-11-11 11:08 | 显示全部楼层
运行一段时间好转倒不一定就是温度的问题。可以试着用电吹风吹一下,或者放到电冰箱里冻一下。一般晶振受温度影响可能性较大。
eyesee2008 发表于 2015-11-11 11:15 | 显示全部楼层
做个温度循环试验看看,通过这个试验可以知道是不是焊接的问题,死机也可能是电压的问题,也有可能是时钟
泰山特曲123 发表于 2015-11-11 11:27 来自手机 | 显示全部楼层
先排除是硬件还是软件问题吧!写简单或者已验证过的程序,看是否死机,排除硬件问题。排除软件问题,一个个功能模块删除,看问题出在哪个模块。初步怀疑是指针或数组溢出,又或者某个中断退不出来。
myxiaonia 发表于 2015-11-11 12:21 | 显示全部楼层

开机有没有对外部sram进行自检啊  就是写入并读回
您需要登录后才可以回帖 登录 | 注册

本版积分规则

20

主题

169

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部