原创 何处喂或如何喂都不重要,重要地是对异常的捕捉能力

2006-12-28 01:53 4272 8 8 分类: MCU/ 嵌入式


 







何处喂或如何喂都不重要,重要地是对异常的捕捉能力
雁塔菜农 发表于 2006-12-28 1:50:00




mood25.gif IceAge 发表于 2006-12-27 23:52 侃单片机 ←返回版面 按此察看该网友的资料 按此把文章加入收藏夹 按此编辑本帖

35楼: 这样的问题智者见智,N驳没有必要啊


看问题的角度不一样,结论就会不一样。同样,程序的设计结构不一样,喂狗的方式就不一样。那位中断喂狗缺点论的老兄可能只是思路狭隘,没有想到还有其他不同的甚至更好的结构,同样,我们自认为更好的结构,难道就不会在别人的眼里认为不值一提么?
主程序+中断是最流行的mcu结构,我们看到的例程几乎都是这种结构,所以在主程序中喂狗就顺理成章,主程序与中断之间的关系也就缠绕在一起,难分难解,这也是何处喂狗的难题所在,除非你能说服别人放弃这种结构,否则无法使人放弃中断喂狗缺点论。

这种问题争论有益,但不会有结果。




blank.gif

mood25.gif hotpower 发表于 2006-12-28 01:39 侃单片机 ←返回版面 按此察看该网友的资料 按此把文章加入收藏夹 按此编辑本帖

36楼: 还是IceAge高论~~~


本想再论,无奈硬盘格式化才完毕,真倒塌了~~~
说实话在何处喂或如何喂都不重要,重要地是对异常的捕捉能力.

像fsaok同志开的玩笑很搞笑:"近日有朋友说,外狗比内狗好,因为晶振停了,外狗还会起作用,又有人说,既然晶振停了,那狗叫还有什么意义?
"
实际他为我们解答了1个问题:
主程序喂狗,中断(管理程序入OS的定时中断)跑飞.主程序"正常"有何用???
中断喂狗,主程序跑飞,中断程序"正常"又有何用???

所以必须两者都能保证正常且互相检测才能提高(没人敢保证万无一失,像邓苗同志的高境界很少人能达到~~~).

我模拟的2种喂狗方式在程序飞时的表现基本说明了单一喂狗方式的危害性.

大家可能都编过或用过PC级的软件,程序发生异常是不可避免的,否则美国鬼子再N航天飞机也要落地,也要推后发射.

但是提高对异常的捕捉和处理能力才是我们最后需要解决的议题.

养狗不是为了咬人,更不是为了害人.

设备在运行时没人愿意让看门狗复位!!!即使事后你向老板说"这是由于干扰造成的系统(看门狗)复位".
当老板的和当领导的没工夫听你说,用户更让你先闭着嘴~~~

所以我们在编程序时应当考虑到任何所能出现的问题,哪怕连鬼都不相信会出现的问题我们都要考虑周到!!!

我们应该如何去检测可能发生的异常,在异常发生后且捕捉后用什么容错方法去"遮住老板的眼睛"~~~

在好些系统中,采用内狗中断外狗复位的方法来拦截异常的发生.使异常带来的损失降为最小.

"狗论"也论的差不多了,就如IceAge说的再争论N多年也和梁山的军师---无用~~~

文章评论0条评论)

登录后参与讨论
我要评论
0
8
关闭 站长推荐上一条 /2 下一条