This is the mail archive of the
ecos-discuss@sourceware.org
mailing list for the eCos project.
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