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 , "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, > > Lei |