> YES, something like that! ;-) But without nesting and change of cpu-mode.
Then perhaps this :)
irq_isr:
sub lr, lr, #4
stmfd sp!, {r0-r3, ip, lr}
bl irq_handler
ldmfd sp!, {r0-r3, ip, pc}^
/* VICVectAddr dispatch loop */
void irq_handler(void)
{
/* Process IRQ interrupts */
irq_handler_t handler;
while (VICIRQStatus) {
/* Get the address of the highest priority handler */
handler = (irq_handler_t)VICVectAddr;
/* Execute the handler */
(*handler)();
/* Acknowledge the VIC */
VICVectAddr = 0;
}
}Message
Re: [lpc2000] {To TomW} GCC-Bug in IRQs
2006-03-25 by David Hawkins