This is the mail archive of the
ecos-discuss@sources.redhat.com
mailing list for the eCos project.
RE: Problem with spurious interrupt on ARM
- From: Morten Laursen <MLA at rtx dot dk>
- To: "'ecos-discuss at sources dot redhat dot com'" <ecos-discuss at sources dot redhat dot com>
- Date: Fri, 30 Aug 2002 12:18:25 +0200
- Subject: [ECOS] RE: Problem with spurious interrupt on ARM
The problem goes away if I hack hal_IRQ_handler() to return a valid
interrupt instead of CYGNUM_HAL_INTERRUPT_NONE, and create a dummy isr, that
just acknowledges the interrupt.
So it seems there is a problem with the spurious interrupt handling in
eCos/ARM.
Venlig Hilsen / Regards
Morten
--
Morten Laursen, M.Sc.S.E.
RTX Telecom A/S - http://www.rtx.dk/
Direct phone: (+45) 96 32 24 03
> -----Original Message-----
> From: Morten Laursen
> Sent: 30. august 2002 11:03
> To: 'ecos-discuss@sources.redhat.com'
> Subject: Problem with spurious interrupt on ARM
>
>
> Hi,
>
> I sometimes receive a spurious interrupt (hal_IRQ_handler()
> returns CYGNUM_HAL_INTERRUPT_NONE). After that happens my DSR
> is no longer called, although it's dsr_count is 1.
>
> More specific what happens is:
> * I press a button causing an interrupt
> * the interrupt is reconfigured to happen when the button is released.
> * I release the button
> * When the button is released I receive a spurious interrupt
> before the button's ISR is called.
> * The button's ISR is called and returns CYG_ISR_CALL_DSR
> * The DSR is NOT invoked
>
> eCos is configured to ignore spurious interrupts. I have
> tried using both linked lists and fixed-size tables for the DSRs.
>
>
> Any suggestions to solutions would be much appreciated!
>
> Venlig Hilsen / Regards
> Morten
>
> --
> Morten Laursen, M.Sc.S.E.
> RTX Telecom A/S - http://www.rtx.dk/
> Direct phone: (+45) 96 32 24 03
>
>
--
Before posting, please read the FAQ: http://sources.redhat.com/fom/ecos
and search the list archive: http://sources.redhat.com/ml/ecos-discuss