old*_*mer 11

硬件看门狗是硬件.软件看门狗是软件.对于硬件看门狗,有硬件,如果它没有经常被踢,将假设软件已挂起并将通常或任何设计要求重置系统.假设硬件比软件更可靠.对于软件监视程序,假设一个软件任务/线程/被认为比另一个更可靠,如果可疑代码无法启动可靠代码,则可靠代码会杀死可疑代码(或设计所指示的任何代码).如果可疑代码由于硬件而失败则存在问题,该硬件可能会取消包括软件监视器在内的所有代码.因此,只有当监视程序以比所讨论的任务更可靠的方式运行时,软件监视程序才有用.


Aki*_*nen 9

如果软件没有(定期)阻止关机,HW看门狗会自动复位系统; 当给定CPU时间时,SW看门狗OTOH只能做某事.因此,它必须定期检查系统是否需要重置并通过编程HW来响应.

最终结果是SW看门狗无法响应整个系统崩溃.

这些的典型编程模型是:

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"]
Run Code Online (Sandbox Code Playgroud)