23.1 Overview

The Watchdog Timer (WDT) is a system function for monitoring correct program operation. It makes it possible to recover from error situations such as runaway or deadlocked code. The WDT is configured to a predefined time-out period, and is constantly running when enabled. If the WDT is not cleared within the time-out period, it will cause a system reset. An early-warning interrupt is available to indicate an upcoming watchdog time-out condition.

The window mode makes it possible to define a time slot (or window) inside the total time-out period during which the WDT must be cleared. If the WDT is cleared outside this window, either too early or too late, this will cause a system reset. Compared to the normal mode, this can also catch situations where a code error causes the WDT to be cleared frequently.

When enabled, the WDT runs in active mode and selectively runs in standby sleep mode. It is asynchronous and runs from a CPU-independent internal clock source. The WDT continues operation and causes a system reset even if the main clocks fail. Even though there can be time between the reset condition occurring and the system reset asserting, it cannot be prevented. This includes but is not limited to a software attempt to disable the WDT.