[ECOS] Re: On ARM7 can one of FIQ/IRQ be used for non-eCos stuff?

Grant Edwards grante@visi.com
Wed Apr 2 21:12:00 GMT 2008

On 2008-04-02, Andrew Lunn <andrew@lunn.ch> wrote:
> 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.

That's pretty much ideal.  I don't remember seeing a feature
like that on my part, but I believe I can manually set the
interrupt request flag for one of the unused external
interrupt/port  pins.

Grant Edwards                   grante             Yow! Could I have a drug
                                  at               overdose?

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

More information about the Ecos-discuss mailing list