程序经常跑飞的原因

[复制链接]
2364|21
 楼主| FCCdsp 发表于 2017-11-14 10:51 | 显示全部楼层 |阅读模式
程序经常跑飞不外乎有以下几大原因



  1) 程序没有结尾或不是循环的程序。


  2)nmi管脚没有上拉。


  3)在看门狗动作的时候程序会经常跑飞。


  4)程序编制不当也会引起程序跑飞。


  5)硬件系统有问题。



zhangmangui 发表于 2017-11-29 23:17 | 显示全部楼层
第三条有些不解    应该是程序跑飞了看门狗会动作吧
gygp 发表于 2017-11-30 13:39 | 显示全部楼层
数情况是发生了数组越界
chenci2013 发表于 2017-11-30 13:40 | 显示全部楼层
程序中使用了看门狗,但是没有及时“喂狗”,从而导致看门狗复位,使程序直接跳到复位位置。
biechedan 发表于 2017-11-30 13:40 | 显示全部楼层
中断服务程序缺失可能造成
wangdezhi 发表于 2017-11-30 13:41 | 显示全部楼层
是否打开了某个中断
isseed 发表于 2017-11-30 13:41 | 显示全部楼层
地址溢出,常见错误为指针操作错误。
suzhanhua 发表于 2017-11-30 13:42 | 显示全部楼层
尽量减少函数调用层级,减少局部变量
mituzu 发表于 2017-11-30 13:42 | 显示全部楼层
中断发生后,找不到中断服务程序入口,从而导致程序跑飞。
hellosdc 发表于 2017-11-30 13:43 | 显示全部楼层
看门狗没有关闭。
uiint 发表于 2017-11-30 13:44 | 显示全部楼层
硬件看门狗电路设计失误
kmzuaz 发表于 2017-11-30 13:44 | 显示全部楼层
程序跑飞,或者中断失败,死在循环里。
wangdezhi 发表于 2017-11-30 13:45 | 显示全部楼层
程序一直进入中断,造成死机假象。
biechedan 发表于 2017-11-30 13:45 | 显示全部楼层
程序代码结构要仔细检查。
chenci2013 发表于 2017-11-30 13:45 | 显示全部楼层
一定要计算清楚最耗时的那段程序的运行时间
gygp 发表于 2017-11-30 13:45 | 显示全部楼层
仔细检查函数中调用的数组是否存在越界
isseed 发表于 2017-11-30 13:45 | 显示全部楼层
如果循环变量没控制好则会出现数组下标越界,意外修改系统的寄存器造成死机
suzhanhua 发表于 2017-11-30 13:45 | 显示全部楼层
如果循环变量没控制好则会出现数组下标越界
mituzu 发表于 2017-11-30 13:45 | 显示全部楼层
检查程序中是否存在打开了某个中断,但是没有相对应的中断服务程序。
hellosdc 发表于 2017-11-30 13:45 | 显示全部楼层
没使用看门狗开机时也有可能意外自动开启了最小周期的看门狗,导致软件不断复位
您需要登录后才可以回帖 登录 | 注册

本版积分规则

967

主题

1447

帖子

9

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