This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

CPU crash when enable NVIC for timer

Weird thing is going on here.

I have LPC1788 board and I just started writing a simple application.
If I initialize timer like this, code seems to be executed, but of course my timer interrupt is not called.

void initTimer (void)
{
        LPC_TIM_TypeDef *timer = LPC_TIM1;
        LPC_SC->PCONP |= (0x1<<2);

        timer->TC = 0x00; //Clear Timer Counter
        timer->PR = 0x00; //No prescaler
        timer->MCR = 0x3; //enable interrupt
        timer->MR0 = 0x02710; //interrupt every 1ms
//NVIC_EnableIRQ(TIMER1_IRQn);
        timer->TCR = 0x02; //reset timer
        timer->TCR = 0x01; //enable timer counter
}
void TIMER1_IRQHandler(void)
{
        LPC_TIM1->IR = (1u<<0);    // Reset the MR0 Interrupt; Writing a zero has no effect.
        decrementFlags();
}


As soon as I enable NVIC IRQ, my code crash and points to Default_Handler PROC in startup.s. Deducing R15(PC) with -8 and use U 0xXXX, I end up in SVC_Handler part. My Timer1_IRQ never got called.

There is really nothing going on in the code besides this. As I just started writing program and hit the wall...

Any idea what else could I try, to debug this ?

Thanks.

Parents Reply Children