发新帖我要提问
12
返回列表
打印

最近看到一篇**

[复制链接]
楼主: mamalihui
手机看帖
扫描二维码
随时随地手机跟帖
21
mamalihui|  楼主 | 2007-7-28 11:26 | 只看该作者 回帖奖励 |倒序浏览

最近看到一篇**

最近看到一篇文章,谈到程序的健壮性,为了防止程序跑飞后死机,他把flash里程序不用的剩余字节,全部存储为一条跳转指令的机器码,该跳转指令将pc指向某个地址,比如0x38000000,然后在0x38000000处关闭中断,设置一个软复位标志,程序复位。在主程序入口处判断是否是软复位,如果是软复位,就不对一些重要的数据和参数重新初始化。我觉得这个方法可行。

使用特权

评论回复
22
eleven11| | 2007-7-28 18:13 | 只看该作者

rtos的wdt

要用os的消息机制来喂狗

使用特权

评论回复
23
dzc0426| | 2014-8-7 08:20 | 只看该作者
我用ucos3,也在考虑这个问题,我的想法不知道是否可行,只对一定时间内肯定会运行至少一次的任务监控,利用事件标志组,每个任务运行时就设置标志位,然后监控任务只有监控到所有标志都置位时才喂狗。但是对于可能一直都得不到运行的任务,例如按键检测任务,不知道如何监控?由监控任务发送一个特殊标志给按键检测任务?然后能得到回复说明没死?

使用特权

评论回复
24
e08610318| | 2014-8-7 09:03 | 只看该作者
其实在UCOS喂狗和单线程里面喂狗都是一样的。**的原则之一就是只在一个地方喂狗,避免在中断中喂狗,并且保证不溢出,这样比较容易维护,如果某些处理逻辑可能需要的时间比较长,可以补喂,但尽量避免这种情况的出现。

使用特权

评论回复
25
e08610318| | 2014-8-7 09:08 | 只看该作者
dzc0426 发表于 2014-8-7 08:20
我用ucos3,也在考虑这个问题,我的想法不知道是否可行,只对一定时间内肯定会运行至少一次的任务监控,利 ...

太复杂,没必要,而且也想的太多了。你的监控任务如果是监控性质的话,那肯定是定时执行的,每次循环喂一次狗就可以了。
“但是对于可能一直都得不到运行的任务,例如按键检测任务,不知道如何监控?由监控任务发送一个特殊标志给按键检测任务?然后能得到回复说明没死?”啥意思?一直都得不到运行的任务,那就是你设计不合理了。看门狗主要是防止一些不正确的逻辑导致一直卡在程序的某些部分。

使用特权

评论回复
26
e08610318| | 2014-8-7 09:10 | 只看该作者
mamalihui 发表于 2007-7-28 11:26
最近看到一篇**,谈到程序的健壮性,为了防止程序跑飞后死机,他把flash里程序不用的剩余字节,全部存储 ...

挺奇葩的,说实在的。还不如花花精力把BUG消除

使用特权

评论回复
27
e08610318| | 2014-8-7 09:17 | 只看该作者
ayb_ice 发表于 2007-7-12 20:07
如果在RTOS中使用WDT,必须建立一个任务定时刷新WDT,而且任务的优先级必须很高,因为低优先级的任务不能保 ...

感觉前后台系统里面,中断喂狗没什么意义,除非你的应用要求你的主要工作集中在中断ISR中。前台卡掉了,后台定时中断如果仍然能够触发喂狗,那看门狗就没意义了

使用特权

评论回复
28
ayb_ice| | 2014-8-7 09:24 | 只看该作者
e08610318 发表于 2014-8-7 09:17
感觉前后台系统里面,中断喂狗没什么意义,除非你的应用要求你的主要工作集中在中断ISR中。前台卡掉了, ...

中断喂狗确实容易有问题

可能主循环已经死掉,而中断还活着,

但稍加改进也是可以的

使用特权

评论回复
29
john_lee| | 2014-8-8 01:15 | 只看该作者
这破问题还在讨论啊?
中断喂狗是必须的,而且只在systick(系统节拍)中。

使用特权

评论回复
30
firstzys| | 2014-11-18 11:04 | 只看该作者
那看门狗在用的时候要注意些什么呢

使用特权

评论回复
31
sdnumcu| | 2014-11-21 20:04 | 只看该作者
竟然有不用狗的,看来我out了

使用特权

评论回复
32
litin| | 2015-4-22 11:57 | 只看该作者
赞同上面说的:利用事件标志组(总装型)

使用特权

评论回复
33
mamalihui|  楼主 | 2024-9-29 13:52 | 只看该作者
这么多年过去了,感慨,谢谢大家

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则