I tried the GHI example on a Raptor board running NETMF 4.3, modified only to display the cause of reset and to force a reset. Here is the code:
public class Program
public static void Main()
// Timeout 5 seconds
int timeout = 1000 * 5;
// Normally, you can read this flag ***ONLY ONCE*** on power up
if (Watchdog.LastResetCause == Watchdog.ResetCause.Watchdog)
Debug.Print("Watchdog did Reset");
Debug.Print("Reset switch or system power");
// Enable Watchdog
// Start a time counter reset thread
WDTCounterReset = new Thread(WDTCounterResetLoop);
// your program starts here
// If we exit the program,
// the thread will stop working and the system will reset!
static Thread WDTCounterReset;
static void WDTCounterResetLoop()
// reset time counter every 3 seconds
// Since the counter is not reset, a reset should happen....
Thinking that interactions between the debugger and RESET might be an issue, I replaced the Debug.Print() statements after the test for the cause of reset by blinking an LED quickly for a watchdog induced reset or slowly for normal reset. I deployed the code to the Raptor board.
Result was the same… no watchdog reset ever seemed to occur. LED always blinked slowly and the only the “Reset switch or system power” message was ever produced.
Getting a Watchdog timer functioning is crucial for the success of our project. I will apologize in advance, if my code or understanding is incorrect. If not, please make fixing this problem a priority.