Yahoo Groups archive

Lpc2000

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

Message

RE: [lpc2000] Re: Interrupt in LPC22XX

2006-05-10 by Andrew Berney

Sorry yes, to clarify we do exactly as you said - the IRQ for the timer
checks the state of all the registered subsystems (which for the current
project are quite limited) - assuming they're all ok (or simply degraded but
still running well enough to allow continued operation) it kicks the
watchdog - and we don't allow nested IRQs although both FIQ and IRQ are
disabled anyway for the feed sequence.

Andy

-----Original Message-----
From: lpc2000@yahoogroups.com [mailto:lpc2000@yahoogroups.com]On Behalf
Of brendanmurphy37
Sent: 10 May 2006 10:22
To: lpc2000@yahoogroups.com
Subject: [lpc2000] Re: Interrupt in LPC22XX


--- In lpc2000@yahoogroups.com, "Andrew Berney" <amb@...> wrote:
> Personally I simply use one of the on chip
> timers to give me an interrupt every so often and then kick the
watchdog
> inside it's IRQ handler...
>
> Andy

Andy,

Can you explain more about how you're using the watchdog, as what you
say sounds a bit strange if you take it at face value?

One of the functions of a watchdog is to reset a system to a known
state to recover from (previously unknown) software (or indeed
hardware induced) errors. If the software error involves entering an
infinite loop then a timer interrupt that just feeds the watchdog
won't recover the system: the watchdog will never expire.

No doubt you're doing something else: for example in the timer
interrupt you could check one or more status fields that are
continuously updated by parts of the application and only feed the
watchdog if everything is looking good.

Also, you still need to ensure interrupts are disabled for the feed
sequence, unless you don't allow nested interrupts.

Just in case anyone reading your post gets the wrong idea it might be
worth clarifying these points.

Brendan.










Yahoo! Groups Links

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.