This is the mail archive of the ecos-discuss@sourceware.org mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Re: DSR stops running after heavy interrupts. Spurious Interrupt!


> > What should I look for in attempting to eliminate spurious interrupts?  Can
> > they be eliminated?
> 
> The CYGNUM_HAL_INTERRUPT_NONE return from hal_IRQ_handler() only
> happens when an interrupt occurs but the interrupt controller denies
> all knowledge of it. One possibility is that hal_IRQ_handler() is
> decoding a real interrupt wrongly and generating -1 by mistake.
> 
> What you need to do is find out why hal_IRQ_handler() is returning
> this value. If you can put a breakpoint in hal_IRQ_handler()
> where CYGNUM_HAL_INTERRUPT_NONE is returned, then you should be able
> to look at all the relevant device and interrupt controller registers
> and find out what is going on.

Also check that you have level vs edge trigger correct for your
hardware.

It could be a hardware error, eg a pulse is too short, a floating
interrupt signal, some device which does not get reset when the
process does etc.

        Andrew

-- 
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]