Hey Gilles Faurie,
i checked the Errata sheet and build in the workaround.
I´ve modified my Code to this:
void init_interrupts(void){
SCB_MEMMAP = 1; //interrupt vectors reside in flash
toggle_led(28);toggle_led(28);toggle_led(28); // Function Start -
Blink 3 times
VICProtection = 0; //No Protection
VICIntEnClear = 0xffffffff; //Clear all Interrupts
SCB_VPBDIV = 0x00; // --- workaround for EXTINT2 bug
SCB_EXTMODE = 0x04; // set mode for EINT2
SCB_VPBDIV = 0x02; // ---
SCB_VPBDIV = 0x01; // --- end workaround
SCB_EXTINT = 0x04; // clear INT flags
VICIntSelect = 0x00000000; // EINT2 is IRQ
toggle_led(25);
VICIntEnable = (1<<VIC_EINT2); // Enable EINT2
VICVectAddr0 = (unsigned long)EINT2_ISR;
VICVectCntl0 = (1<<5) | (1<<VIC_EINT2);
toggle_led(25);
enableIRQ();
toggle_led(25);
}
EnableIRQ comes from the armVIC.h , which is in the example dir of
WinARM.
My problem is, that the System hangs now on the execution of
"enableIRQ()".
Could it be, that there are some Problems with my Startup Code ?
I use the Startupcode from the UART Example included in WinARM.
GreetingsMessage
Re: EINT2 Problems on LPC2124
2005-09-07 by fbpmania
Attachments
- No local attachments were found for this message.