AnsweredAssumed Answered

LPC12 Watchdog

Question asked by LPCware Support on Mar 31, 2016

Unlike most MCU's, NXP's LPC12xx family start up with the "Windowed Watchdog Timer" (WWDT) enabled.

 

This configuration is not "debug friendly" (as the watchdog is likely to timeout whilst debug operations take place - for example pausing application execution). Thus when the debugger connects to an LPC12xx target it will actually disable the WWDT.

 

However this means that application behavior could potentially differ when run under the debug compared to when the application is just run straight out of flash from reset (as the first will have the WWDT disabled, whereas the later will not).

 

In order to avoid this problem, the LPCXpresso IDE's LPC12xx project wizard allows your project to be created such that the startup code for your application will also disable the WWDT:

 

lpcxpresso_lpc12_wwdt.jpg

 

This means that application behavior will then be the same under debug and when running out of flash from reset.

 

If at some point, you want to prevent the startup code from disabling the WWDT, then you can do this by simply deleting the symbol __DISABLE_WATCHDOG from the compiler options.

Outcomes