Yahoo Groups archive

Lpc2000

Index last updated: 2026-04-28 23:31 UTC

Message

Re: [lpc2000] Re: Problem with watchdog

2005-12-11 by Ake Hedman, eurosource

derbaier wrote:

> --- In lpc2000@yahoogroups.com, Tom Walsh <tom@o...> wrote:
> >
> > I had expected to do something similar with the LPC2000 parts.  Feed
> the
> > watchdog with 0xaa from the interrupt layer and then feed it with 0x55
> > from the foreground.  It was expected that even if the watchdog
> received
> > something like this, it would still be fine:
> >
> > 0xaa, 0xaa, 0xaa, 0x55, 0xaa, 0xaa, 0xaa, 0xaa, 0x55 ....
> >
> >
> > What value is a watchdog that requires you to carefully feed it, it
> > sounds as if the watchdog is very fragile?  I noticed that Philips
> > Applications people studiously stayed out of this thread about the
> > watchdog!  I suspect that the watchdog is severly broken and they did
> > not want to comment on it?
> >
> >
> > Regards,
> >
> > TomW
> >
> > --
> > Tom Walsh - WN3L - Embedded Systems Consultant
> > http://openhardware.net, http://cyberiansoftware.com
> > "Windows? No thanks, I have work to do..."
> > ----------------------------------------------------
> >
> It sounds like you have described a really robust watchdog timer!!
> It detects and stops fragile software.
>
> It's function is NOT to make life easy for the software developer, it
> is to make the system more reliable for the end user by forcing good
> software and hardware design.  The watchdog kick should always be
> cosecutive instructions to reduce the possibility of random events
> from kicking the timer.
>
> At least, that was the philosophy of the ASIC teams that I have worked
> with.
>
> --Dave
>
>
The absolute majority of watchdogs, internal or external, function by 
toggling a bit  from time to time. Where in the code  you do this 
toggling is something you have to investigate for each project. The 
common point in any case is that if the program pass a certain point in 
the flow we allow the application to live for n milliseconds more. 

The 0xAA, 0x55 sequence is nothing else either. It may look safer then 
toggling a bit but false watchdog triggers have never been a problem for 
an extended time during my years as an embedded developer. The chance 
that your crashed program start to toggle a watchdog bit or write a 
0xAA, 0x55 sequence is just minimal and in that light I think Tom's 
reasoning is fully correct and would not make the watchdogs 
functionality less good. At least IMHO.

But requiring the 0xAA,0x55 sequence is acceptable to of course. The 
need to mask interrupts while doing it is not. Thats really bad.

/Ake

-- 
 ---
Ake Hedman (YAP - Yet Another Programmer)
eurosource, Brattbergavägen 17, 820 50 LOS, Sweden
Phone: (46) 657 413430 Cellular: (46) 73 84 84 102
Company home: http://www.eurosource.se      
Kryddor/Te/Kaffe: http://www.brattberg.com
Personal homepage: http://www.eurosource.se/akhe
Automated home: http://www.vscp.org

Attachments

Move to quarantaine

This moves the raw source file on disk only. The archive index is not changed automatically, so you still need to run a manual refresh afterward.