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: On ARM7 can one of FIQ/IRQ be used for non-eCos stuff?


On Wed, Apr 02, 2008 at 07:36:21PM +0000, Grant Edwards wrote:
> On 2008-04-02, Andrew Lunn <andrew@lunn.ch> wrote:
> 
> >> Yes. I think providing an official way how to use the FIQ with
> >> lowest possible overhead under eCos would be good. Some kind
> >> of communication with eCos is required I think, e.g. a
> >> recommended way how to generate a regular interrupt so that if
> >> some condition is detected in the FIQ handler a regular ISR
> >> can overtake.
> >
> > I've done this before, but it used hardware support.
> >
> > The Intel StrongARM interrupt controller had a bit you could
> > set to cause an IRQ interrupt to happen. So in the FIQ you hit
> > this bit and exit the FIQ. Once interrupts are re-enabled the
> > IRQ goes off and you are in normal eCos interrupt context.
> 
> How did eCos know where the interrupt came from?  Did that bit
> you set have it's own unique hardware-generated ID value?

Yep. CYGNUM_HAL_INTERRUPT_SOFT_IRQ, So you just register an interrupt
handler for this as normal. When the interrupt fires the interrupt
controller say a soft IRQ has gone off when hal_IRQ_handler() asks it.

        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]