A guy from Rowley helped me figured it out. It turns out that I have
to uncomment the line
#define VECTORED_IRQ_INTERRUPTS
in the startup.s file. In the sample C project the line is already
done.
Great support !
Thanks,
Lei
--- In lpc2000@yahoogroups.com, "fl429" <fl429@y...> wrote:
>
> Hi, folks,
>
> I am trying out a few things on a IAR Kickstart board, with
> CrossStudio 1.3.
>
> I'd like to write code in C++ instead of C. My test C++ code ran ok
> until I added an interrupt service routine, for Timer0 as my test
> example.
>
> I have a ISR like this: (in a .cpp file)
>
> static void timer0ISR(void) __attribute__ ((interrupt ("IRQ")));
>
> static void timer0ISR()
> {
> // doing something here
>
>
> }
>
> void SetupTimer0()
> {
> //
> // Init VIC here, not shown
> //
> VICVectAddr0 = (unsigned int)timer0ISR;
> //
> // etc
>
> }
>
> The problem is the result code always calls the default DO-Nothing
> handler in the "Philips_210x_startup.s" and stalls there.
>
> The same piece of code in C seems ok.
>
> Any ideas ?
>
> Thanks,
>
> LeiMessage
Re: CrossStudio: C++ interrupt service
2005-02-07 by fl429
Attachments
- No local attachments were found for this message.