OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4850|回复: 4

程序飞了居然还能喂狗,请高手帮忙解答一下

[复制链接]

20

主题

100

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
297
金钱
297
注册时间
2012-12-22
在线时间
24 小时
发表于 2013-8-28 11:42:49 | 显示全部楼层 |阅读模式
现在的项目由于成本问题,用的stc的51,程序写完了,用的ide是IAR for 51,默认idata堆栈是0x40,发现程序有时会飞(不是经常出现,一个礼拜能有一会吧),问题是我的程序有狗的,飞了应该是要复位的,可是并没有复位,给片子外部中断也不响应,跑飞了的程序难道还在喂狗?我怀疑是堆栈是0x40不够用,在某些随机时刻,函数调用加中断嵌套的层数过多,导致其溢出使得程序跑飞,但是飞了的程序还在喂狗,不理解啊?
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

36

主题

1263

帖子

1

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
1612
金钱
1612
注册时间
2012-6-15
在线时间
39 小时
发表于 2013-8-28 12:13:19 | 显示全部楼层
主要是你喂狗的位置 。

比如你在中断里面喂狗,则即便程序非了,也会进中断, 因为是硬件决定的。
回复 支持 反对

使用道具 举报

20

主题

100

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
297
金钱
297
注册时间
2012-12-22
在线时间
24 小时
 楼主| 发表于 2013-8-28 14:25:57 | 显示全部楼层
回复【2楼】aleda303:
---------------------------------
飞了之后不会响应中断,我试过了,INT中断给了,但没反应,我INT中断里面可是要干活的。
回复 支持 反对

使用道具 举报

20

主题

100

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
297
金钱
297
注册时间
2012-12-22
在线时间
24 小时
 楼主| 发表于 2013-8-28 14:29:03 | 显示全部楼层
有没有嵌套层数和堆栈大小的计算方法
回复 支持 反对

使用道具 举报

17

主题

587

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4467
金钱
4467
注册时间
2013-6-27
在线时间
565 小时
发表于 2013-8-30 09:20:12 | 显示全部楼层
没遇到过,按正常,程序跑飞了是还可以中断的,除非跑飞的地方刚好把中断有关的标记给清了!
让我们的思维驾驭在电的速度之上!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-25 21:54

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表