I'm trying to disable the watch dog timer (WDOG) on the FRDM-KE04Z board. My code writes a 0x00 to the WDOG_CS1 register right after boot and even reads it back and confirms it as 0x00 to verify the write occurred.
However, the chip resets predictable about 4ms later with a '1' in the WDOG bit of the SIM_SRSID register, telling me that the reset was caused by a watchdog timer event.
If I add a watchdog reset sequence to my wait loops, the problem goes away, but I'd rather just turn the WDOG off altogether and have it stay off.
I've read everything I can find on the WDOG, including the device reference manual and many examples for other Kinetis devices.
If I single-step my program using the debugger, it works fine. It's only when I let it free-run from either a power-on or from pressing the reset button on the board that the WDOG fires.
Any ideas what I might be doing wrong or overlooking? Any help is appreciated.