
笔者在在单片机系统开发过程中,总会遇到一些比较棘手的问题,比如,当批量生产的产品,概率性出现死机情况,该如何解决。 死机问题,一般出现的问题有很多,软件硬件都有可能。本篇文章,笔者以前的实际项目出发,总结一些解决问题思路与关键点,进行说明。 硬件方面: 抗干扰方面,一般需要考虑静电,可以使用静电枪进行试验,可以使用10台设备,8KV静电 分别多次操作,如果其中有一台出现死机,则可以考虑硬件抗静电部分需要强化,如usb等外部接口,需要在IO口进行防静电的电路,可以参考如下电路,或使用专用保护芯片。 抗辐射方面,如果系统中射频等无线电路,则需要考虑天线对单片机的影响。需要对天线位置,射频电路整个系统,不好的天线会对系统的电源稳定性,以及单片机的晶振有影响,造成单片机死机。 软件方面 1考虑堆栈,编译器默认启动文件中,有堆栈设置的代码,需要调整大小。 2 检查代码,是否有不合理死循环,检查是否有定义的数组溢出,造成程序跑飞。 3 是否有使用内部flash存储,当不合理的flash内存操作时,也会造成死机。 经过批量试产,机器死机问题得到解决。保证产品正常生产。 |
参与人数 1 | ST金币 +1 | 收起 理由 |
---|---|---|
|
+ 1 |
我正在碰到这个问题,搞了几天,都不行,头疼的很。 |
我正碰到这个问题 |