首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >硬件看门狗和软件看门狗有什么区别?

硬件看门狗和软件看门狗有什么区别?
EN

Stack Overflow用户
提问于 2013-09-17 16:58:42
回答 2查看 25.5K关注 0票数 13

硬件看门狗和软件看门狗有什么区别?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-09-17 18:02:09

如果软件没有(定期)阻止关机,硬件监视器会自动重置系统;软件监视器OTOH只能在给定CPU时间时执行某些操作。因此,它必须定期检查系统是否需要复位,并通过对HW进行编程来响应。

最终结果是,SW watchdog可能无法响应整个系统崩溃。

典型的编程模型有:

代码语言:javascript
复制
HW watchdog:   [HW circuit]  <-- [low priority timer interrupt postponing reset]
--
vs.
--
SW watchdog:   [Low priority SW process feeding SW Watchdog]
           +   [High priority SW process requiring "food"]
票数 10
EN

Stack Overflow用户

发布于 2013-09-17 22:30:32

硬件看门狗就是硬件。软件看门狗就是软件。对于硬件看门狗来说,如果硬件被踢得不够频繁,它将假定软件已挂起,并将通常或任何设计指示重置系统。硬件被认为比软件更可靠。对于软件看门狗来说,一个软件任务/线程/任何被认为比另一个更可靠的软件任务/线程/任何东西,如果有问题的代码不能踢开可靠的代码,那么可靠的代码就会杀死有问题的代码(或者设计规定的任何东西)。如果有问题的代码由于硬件而失败,那么就会出现问题,因为硬件可能会关闭所有代码,包括软件watchdog。因此,只有当你让看门狗以一种比相关任务更可靠的方式运行时,软件看门狗才是有用的,例如,它可能是为了防止任务超出其内存空间并获得保护故障(您可以在故障处理程序中只关注它,而不是设置看门狗,但不管怎样)。

票数 15
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18845464

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档