硬件看门狗和软件看门狗有什么区别?
如果软件没有(定期)防止关机,硬件看门狗会自动重置系统;相反,软件看门狗只有在给定CPU时间时才能做些什么。因此,它必须定期检查系统是否需要重置,并通过编程硬件对其进行响应。
结果是,软件看门狗可能无法响应于系统崩溃。
这些的典型编程模型是:
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"]