EmbeddedRelated.com
Forums

CrossWorks CTL and interrupt handling

Started by marks65 January 24, 2008
I'm newish to Crossworks/CTL and need to confirm my understanding of the
IRQ and FIQ stuff.

So the question is...

CTL redirects the IRQ handler to its own handler for ALL IRQ
interrupts(correct?), where it calls the ISR in question and then CTL task
handler stuff.
If this is so, and I want to have a fast response to an EINT0 external
interrupt then I have no choice but to accept the overhead of the CTL
tasking stuff, or use the FIQ. (correct?)

So if I have several external interrupts (eg EINT0..3) then I need to
handle this and redirect in the FIQ?

Is there anyway to just have the CTL task stuff work off a timer IRQ and
leave the remaining ISRs to redirect directly using the normla VIC route?

That all (for now), but some sample code would be really  appreciated.

cheers
Mark




"marks65" <ms115@bnfl.com> wrote in message 
news:jbmdnTgyzNnGVgXanZ2dnUVZ_gGdnZ2d@giganews.com...
> I'm newish to Crossworks/CTL and need to confirm my understanding of the > IRQ and FIQ stuff. > > So the question is... > > CTL redirects the IRQ handler to its own handler for ALL IRQ > interrupts(correct?), where it calls the ISR in question and then CTL task > handler stuff. > If this is so, and I want to have a fast response to an EINT0 external > interrupt then I have no choice but to accept the overhead of the CTL > tasking stuff, or use the FIQ. (correct?)
Actually, no. CTL tasking is separate from interrupt management. If you look in the VIC support code we provide you will see that if you are not using the tasking library then a lot of code is cut out by #ifdefs.
> So if I have several external interrupts (eg EINT0..3) then I need to > handle this and redirect in the FIQ?
You don't *need* to do this.
> Is there anyway to just have the CTL task stuff work off a timer IRQ and > leave the remaining ISRs to redirect directly using the normla VIC route? > > That all (for now), but some sample code would be really appreciated.
Take a look at the sources which happen to be provided in the NXP support package and see for yourself. -- Paul.