I am implementing a watchdog for the first time, and I can see the possibility of problems. Any thoughts as to what to look out for, what approach to take, etc. ? Thx, Scott Kelley
Search for "Watchdog" at http://www.8052.com/forum/ Don't rely upon an internal watchdog Look for Application Notes from your proposed Watchdog vendor You will need some way to disable the watchdog during debugging, and probably if you're downloading code.
Don't rely upon an internal watchdog Why not, I see even more possible problems with an external watchdog. An internal dog require (at least in the derivatives I use) two consequtive DIFFERNT writes whic is extremely unlikely to happen in runaway code. An external dog require a port pin to toggle which is a much more likely event in runaway code. Erik
Trouble with most internal dogs is that they are disabled by default - so your software has to enable them. So if you have a problem during startup, the dog may never get enabled and you could never recover!
So if you have a problem during startup, the dog may never get enabled and you could never recover just make the first two instructions "start dog" Erik
Jack Ganssle has just written an excellent article about watchdogs - including detailed discussion of why internal dogs are not the best thing: http://www.embedded.com/story/OEG20030115S0042