Thanks for the link. I'll check it.
Teera.
--- In lpc2000@yahoogroups.com, Robert Adsett <subscriptions@a...>
wrote:
Teera.
--- In lpc2000@yahoogroups.com, Robert Adsett <subscriptions@a...>
wrote:
> At 07:03 PM 3/17/05 +0000, tphatrapornnant wrote:assign
> >I have an IRQ problem. My program did not jump after interrupt
> >occured. Now I'm using 2 IRQs (I don't want to use FIQ) and I
> >IRQ 0 for Timer1 and IRQ 1 for Timer0.IRQs.
>
> <snip>
>
> >In simulator, the addresses of Func_A and Func_B were loaded in
> >vector table properly. But when interrupt occured (RawInt = 1), the
> >program didn't jump to those function. I think my Startup.s is not
> >correct. I don't know how to define addresses of 2 function for
>2
> <snip>
> >It seems program always jump to IRQ_Handler address. If I assign
> >Func_A to IRQ_Handler
> >
> >IRQ_Handler: B Func_B
> >
> >Program will jump to Func_B when interrupt occurs. I used to hook
> >these 2 function with FIQ and IRQ Handler. It worked well. But for
> >IRQs, I don't know how to define them.needs to
> <snip>
>
> From a quick look, I think you are correct. The IRQ in startup.s
> read the vector from the VIC and jump to it. I think there areexamples in
> the files section. I know that the newlib-lpc atroutine in
> http://www.aeolusdevelopment.com has a GNU startup that has this
> it (it's really just a different type of jump instruction in thetable).
>need to be
> The interrupt routines for each of your Func_A and Func_B above
> defined with your compilers equivalent of an interrupt keyword (ifyou
> trust it) or have a small assembly shell to take care of thenecessary details.
>restrictions, be
> BTW if you don't read and write to the VIC address register the
> corresponding interrupt won't be dismissed.
>
> Robert
>
> " 'Freedom' has no meaning of itself. There are always
> they legal, genetic, or physical. If you don't believe me, try tochew a
> radio signal. " -- Kelvin Throop, III
> http://www.aeolusdevelopment.com/