Content originally posted in LPCWare by KiloMike on Fri Mar 21 17:13:49 MST 2014
Update:
I put the problem aside for a day or so while developing the rest of my project, but I just had an idea and tried it on a whim before going home today:
Both the LPC81x and LPC1768 processors are ARM Cortex processors. I noticed, however, that the user manual for the LPC81x processor lists the watchdog registers as being located at 0x40004000 plus offsets, while the LPC176x user manual lists the watchdog registers as being located at 0x4000000.
On a hunch, I changed the definitions for the watchdog registers to 0x40000000 plus offsets in my LPC81x project and the watchdog now seems to work! I haven't tested it in any detail other than to see that I can change the amount of time that elapses before the watchdog timer resets the processor. Those tests seem to confirm that I am right.
I think that there is a series of typos in the LPC81x user manual where it lists the memory locations of the watchdog registers.
Maybe someone from NXP could comment?