前几天在写ARM时经常死机,莫名其妙,在这搜集了一些比较好的解答和方案,给大家参考。

可能原因:

一 振荡器停止振荡
又可以分为电源电压不稳,或者强干扰引起的振荡器停振。

二 PC指针跑飞
电源电压不稳或强干扰引起PC跑飞,如果看门狗不好,也会引起死机。

三 设计上对长引出线的IO没有保护,静电打在IO口上引起单片机死锁,破坏了硬件逻辑功能,导致死机。

四. 复位收到干扰,引起反复复位,在反复复位当中有可能会导致死机。

五.电源电压 的地 不稳  ,造成电源电压 瞬间负电压 导致单片机故障 程序不发运行

综上所述:
设计电路时,应该注意:

1.电源稳定
2.IO保护
3.振荡器PCB布线要注意
4.复位电路设计和PCB布线
5.电源,信号线干扰路径的保护,加滤波TVS等
6.高速信号输出远离信号输入端,如SPI总线,I2C总线布线要远离ADC,复位,时钟等布线处,以及其他模拟前端。

我的理解:
1、“跑飞”是因为程序隐患或外部干扰引起的误动作,致使PC被写入“出界”数据,跑到了RAM区,或者跑到了FLASH的空白区。如果PC指向了RAM区,哪情况就不好说了!因为程序译码器可能得到任意译码结果。如果PC指向了FLASH空白区,则可以事先将所有FLASH空白区填入某个你想要的数据,迫使程序译码器在这里翻译出你想要的指令,从而进行相应的处理。在IAR Workbench中好象有在空白区填充数据的设置。
2、“死机”是指PC进入了“死循环”,或者是MCLK等于近似为零的值。此时,要想救活MCU,非外狗不可。
*程序运行过程中,如果MCU电源出现问题(电源供电问题,或其它外部电路引起的电源扰动),比较容易出现“跑飞”现象

程序跑飞应该是PC出错;软件和硬件都可能出这样的问题.
死机应该是CPU根本没有运行,多是硬件方面的问题造成的,比如POR复位不成功,430比较容易出现掉电不完全后重新上电.

看门狗在这个方面介绍:
有了看门狗就不会死机

死机是指CPU的程序指针进入一个死循环,无法执行正常的程序流程。其外在表现常常是:正常功能丧失,按键无响应,显示凝固。单片机死机后,只有复全才能走出死循环,执行正常的程序流程。众所属知,克服死机的最有效手段是加看门狗(WatchDog)。

目前用得最广泛的看门狗实际上是一个特殊的定时器DogTimer。DogTimer按固定速率计时,计满预定时间就发出溢出脉冲使单片机复位。如果每次在DogTimer溢出前强行让DogTimer清零,就不会发出溢出脉冲。清零脉冲由CPU发出,在单片机程序中每隔一段语句放一个清DogTimer的语句——FeedDog语句,以保证程序正常运行时DogTimer不会溢出。一旦程序进入一个不含FeedDog语句的死循环,DogTimer将溢出,导致单片机复位,跳出这个死循环。本文称这种看门狗为典型看门狗,典型看门狗已被集成比,如MAX706、MAX791等[1];还有许多单片机本身集成了这种看门狗,如PIC16C57、MC68HC705等,
有一个错误观点:加了看门狗,单片机就不会死机。实际上,看门狗有时间会完全失效。当程序进入某个死循环,而这个死循环中又包含FeedDog语句,这时DogTimer始终不会溢出,单片机始终得不到复位信号,程序也就始终跳不出这个死循环。针对这一弊端,笔者设计了双对限看门狗和定时复位看门狗。

双时限看门狗有两个定时器;一个为短定时器,一个为长定时器。短定时器定时为T1,长定时器定时为T2,0 
这样,当程序进入某个死循环,如果这个死循环包含短定时器FeedDog语句而不包含长定时器FeedDog语句,那么长定时顺终将溢出,使单片机复位。巧妙安排长定时器FeedDog语句的位置,可保证出现死机的概率根低。在水轮发电机组微机控制装置中的对比应用证明了这一点[3]。

目前几乎所有的看门狗都是依赖于CPU(依赖于CPU FeedDog)。这可以比作:一个保险设备能否起到保险作用还依赖于被它保护的对象的行为。显然,依赖于CPU的看门狗是不能保证单片机在分之百不死机的。

在绝对不允许死机的装置中,笔者设计了一种完全不依赖于CPU的看门狗——定时复位看门狗。定时复位看门狗的主体也是一个定时器,到预定时间就发出溢出脉冲,此溢出脉冲使单片机强行复位。定时复位看门狗不需要CPU FeedDog。

简言之,定时复位看门狗就是定时地让单片机强行复位。这样,即使装置死机,其最大死机时间也不会大于定时器定时时间。显然,只要硬件完好,这种看门狗百分之百地保证了单片机不会长时间死机。在智能电表(包括IC卡电能表、复费率电能表、多功能电能表[4])中采用了定时复位看门狗,每1秒让CPU强行复位,迄今数十万电表运行了近五年,无一例死机报告。

单片机/ARM死机的常见原因及解决方案相关推荐

  1. 计算机桌面死机的原因是,如果屏幕冻结,该怎么办?导致计算机死机的常见原因和解决方案....

    长时间使用计算机时,不可避免地会出现各种问题. 与计算机的蓝屏相比,计算机死机并不少见. 许不知道计算机死机时如何检查和消除屏幕问题. 实际上,造成计算机屏幕冻结的原因很多,并且不同的情况对屏幕冻结有 ...

  2. Dell服务器显示logo后就关机,dell开机卡在logo死机的常见原因及解决方法

    今天使用已久的戴尔笔记本开机的时候就一直卡在 Logo 无法进入系统了,这是什么原因导致的呢,快来和我一起看看如何解决戴尔电脑死机的方法吧. 1.戴尔电脑开机后一直卡在 Logo 时请先移除掉所有的 ...

  3. 微型计算机频繁死机的原因,电脑经常死机是什么原因|电脑经常死机的解决方法...

    ‍‍ 电脑出现死机是很常见的一种故障,造成的原因也有很多种.而最近有些用户的电脑经常死机,开机几分钟就死机,有时还会出现蓝屏,这到底是怎么回事呢?电脑经常死机是什么原因呢?下面小编结合自己的实际情况来 ...

  4. U盘插到电脑上就严重发烫,而且计算机也无法发现U盘 这个U盘彻底坏了吗?,U盘插上电脑就死机是什么原因?如何解决?...

    电脑死机可以说是很常见的故障之一了,但是当U盘连接上电脑就会造成死机是怎么回事?最近就有用户遇到了这样的问题.U盘插上电脑就死机是什么原因?接下来,快启动小编就来跟大家讲解一下U盘插上电脑就死机的原因 ...

  5. 电脑无故死机的可能原因……

    电脑无故死机的可能原因--    死机是电脑故障中最为常见的一种,同时它也是最令人头疼的一种.因为其故障点可大可小,而  且产生死机的原因有很多种,另外其故障现象也是多种多样的,不过笔者把故障现象总的 ...

  6. 使用计算机时什么是死机,细说电脑死机是什么原因

    有时候我们在玩游戏的时候电脑突然死机了是很蛋疼的事情,导致电脑死机的原因有很多种,不同原因的解决方法也不一样,今天小编收集整理了一些常见的电脑死机原因. 对电脑比较了解的朋友肯定都使用过很多年的电脑了 ...

  7. win7怎么查看电脑配置_电脑死机是什么原因?出现问题你会怎么办?

    小白系统 免费的人工客服 点击联系 每日壁纸 · 长按保存 电脑经常死机怎么办呢?相信很多朋友在使用电脑办公的时候会经常遇到死机的现象,很多时候只能通过重启电脑来解决,那么电脑死机是什么原因导致的呢, ...

  8. 电脑经常死机是什么原因

    电脑用的时间长了,小白总能看到各种千奇百怪的问题.其中电脑死机可以说是最棘手的问题了,很多对电脑不熟悉的朋友也都不知道是什么原因.当遇到死机问题时,我们可以从以下几个点去简单的排查问题. 更多系统教程 ...

  9. 电脑死机什么导致,带你一次性了解所有导致电脑死机蓝屏原因!

    电脑蓝屏绝对是小白最蛋疼的事,今天修姐就来讲下电脑为什么会出现死机蓝屏! 造成电脑蓝屏的原因很多,但总体来说也就两大类,硬件问题OR软件问题,今天就带你们一次性了解大多数导致电脑死机原因! 由硬件问题 ...

最新文章

  1. 浅谈DToF技术原理
  2. 不到 200 行代码,教你如何用 Keras 搭建生成对抗网络(GAN)
  3. 记事本 换行符_30年后终更新!新一代Win10记事本详细体验
  4. Redis实战(四):redis的消息订阅、pipeline、事务、modules、布隆过滤器、缓存LRU
  5. JAVA 串口编程 (一)
  6. C# GDI+绘图介绍
  7. PYPL 6 月编程语言排行
  8. 小样本点云深度学习库_NeurIPS2019 | MIT与上海交大提出新型点云深度学习框架Point-Voxel CNN...
  9. windows下ch340 usb转串口芯片的驱动从哪里下载?
  10. super-smack
  11. 解决:Unable to execute dex: GC overhead limit exceeded
  12. 前加加++和后加加++的深入理解
  13. Python全栈工程师(22:Socket编程11-Select解析Socket通信)
  14. ubuntu中耳机声音小的解决方案
  15. 三菱plc指令dediv_三菱plc中的DECMP指令是什么意思?
  16. 1KB文件夹快捷方式病毒清除方案
  17. 联发科MT33xx GNSS模块固件升级流程
  18. sau交流学习社区第三方登陆github--oauth来实现用户登录
  19. VR和云服务,使出洪荒之力也难擦出火花
  20. idea 导入项目java类图标C不见了,显示出J标识解决办法

热门文章

  1. BFS DFS应用场景
  2. Ps--钢笔工具(1)
  3. 【ns-3】零基础安装教程
  4. 前端报错vue.runtime.esm.js2b0e619 [Vue warn] Unknown custom element <github-corner> - did you regist
  5. jsp70077网络办公OA系统
  6. Retrofit2-源码解析,kotlin协程android
  7. Cat5e、Cat6、Cat6a和Cat7有什么区别?
  8. 【Netty系列】使用Netty搭建WebSocket服务器
  9. 2020年PMP笔记归纳第五章项目管理范围
  10. 单片机ARM体系架构知识你知道多少?