Re: Hardware vs Software Watchdog



I've seen in the news topics about HW and SW
watchdog but I doesn't understand at all.
What is the difference? CreateWatchDogTimer implements a software
Watchdog?
Wich are the functions to use the HW watchdog?
There is a significant difference between the two and a good reason for both. The hardware watchdog is an essential part of any fault tolerant system. However, whenever you have a pre-emptive multi threaded (let alone multi-process) system then a Hardware watchdog on it's own is mostly useless, at best it can tell you that the scheduler for the kernel is still processing timer tick interrupts. (An important thing to know but does not help detect a hung critical application or driver thread). Thus CE implements support for both. The OAL provides APIs to the kernel for the hardware watchdog to allow the system to detect if the scheduler has been halted with the hardware WD. Then it uses the scheduler to implement per thread software watchdogs to validate individual threads. By combining the software based WD with the internal hardware based WD in the kernel you get the best of both and a solid foundation for designing fault tolerant systems. Neither piece on it's own is enough but both combined creates a viable solution.

Since the Hardware WD is for the Kernel there is no application visible API for manipulating

- Steve Maillet
http://www.EmbeddedFusion.com

.