TDE - How do I get Mathias to wake up from SLEEP when the Watch Dog times out?

Submitted by: TechTools

A Watch Dog time out will wake up Mathias if the following steps are followed:

1.) Set the Watch Dog Timer to "Reset on Timeout". This forces the WDT to behave "normally", instead of the advanced feature of "Break on Timeout" that is provided by TDE.

2.) Do NOT set a Breakpoint on the SLEEP instruction or the instruction immediately following it. Since Mathias has the ability to break BEFORE the instruction is executed, it must set the breakpoint in hardware when code execution continues from the breakpoint. If the instruction is a SLEEP instruction, TDE will receive a "communications timeout" when it attempts to do this because the hardware is asleep.

If the above steps are followed, Mathias correctly emulates all "Wake Up from Sleep" behavior.