ウィンドウウォッチドッグ
餌やりが遅すぎるときだけでなく、早すぎるときにもシステムをリセットするウォッチドッグ。
通常のウォッチドッグはハングしたコードを捕まえるが、もっと元気に暴走したコードは捕まえられない。リフレッシュ呼び出しをたまたま含む暴走ループは、いつまでも番犬を満足させ続けるからだ。そこでウィンドウウォッチドッグは、時間の窓の内側でのリフレッシュしか受け付けない。窓が開く前に来ればそれも異常とみなされ、タイムアウトと同じ容赦なさでリセットがかかる。
STM32 には両方の種類が並んで載っている。IWDG は内蔵の専用RC発振器で動くため、メインクロックが死んでも生き残る。WWDG はシステムクロックで動き、窓を備える。IEC 61508 や ISO 26262 といった安全規格は後者を好む傾向がある。プログラムが生きているだけでなく、時間どおりに動いているかを確かめられるからだ。