Resetting the Watchdog
SysCtrlRegs.WDKEY (lab file: Watchdog.c)
WDKEY write values:
55h - counter enabled for reset on next AAh write
AAh - counter set to zero if reset enabled
Writing any other value has no effect
Watchdog should not be serviced solely in an ISR
If main code crashes, but interrupt continues to
execute, the watchdog will not catch the crash
Could put the 55h WDKEY in the main code, and the
AAh WDKEY in an ISR; this catches main code crashes
and also ISR crashes
reserved
7 - 015 - 8
WDKEY
WDKEY Write Results
Sequential
Step
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Value Written
to WDKEY
AAh
AAh
55h
55h
55h
AAh
AAh
55h
AAh
55h
23h
AAh
55h
AAh
Result
No action
No action
WD counter enabled for reset on next AAh write
WD counter enabled for reset on next AAh write
WD counter enabled for reset on next AAh write
WD counter is reset
No action
WD counter enabled for reset on next AAh write
WD counter is reset
WD counter enabled for reset on next AAh write
No effect; WD counter not reset on next AAh write
No action due to previous invalid value
WD counter enabled for reset on next AAh write
WD counter is reset