This is the mail archive of the ecos-discuss@sources.redhat.com 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: 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


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