To throw in yet another suggestion/enhancement:
For the Error() function below, have two versions, one for DEBUG
builds that throws out debug info to some debug port (or flashes
LEDs or whatever), and the second for RELEASE builds that does a
controlled reset of the device (e.g. spin round with all interrupts
disabled and wait for watchdog to do what's effectively a hard
reset). That way you can both find out during development that a
problem exists, and out-in-the field that the system is reset in a
controlled fashion.
Note that you should use this for unused interrupt vectors only:
because of the spurious interrupt problem, the VIC default vector
should be handled separately (as I suggested, you can just silently
return).
Brendan
--- In lpc2000@yahoogroups.com, 42Bastian Schick <bastian42@...>
wrote:
>
> Dave Such schrieb:
> > I personally use
> >
> > void dummy(void){}
> >
> > for ALL unused vectors.
>
> May I recommend to use:
> void dummy(void){
> Error(ILLEGAL_INTERRUPT);
> }
>
> instead.
>
> Ignoring an unwanted interrupt may lead to problems.
>
> --
> 42Bastian
>Message
Re: More on spurious interrupts...
2006-03-17 by brendanmurphy37
Attachments
- No local attachments were found for this message.