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


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?
                               visi.com            


-- 
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]