Altera_Forum
Honored Contributor
20 years agoIRQ handler problem
Hi all,
I have build an application on Stratix II, with three CPU's. I have ONE (!) pio line connected to the system of three CPU's. In the SOPC builder I connected the three CPU's to the PIO module. I enabled the IRQ on edge capture. All three CPU's are handling the interrupt. Now i'm experiencing problems. My system hangs sometimes in the alt_irq_register.c file in the while loop below. I think it is because all CPU's are handling the interrupt and using this method to reset the register:
IOWR_ALTERA_AVALON_PIO_EDGE_CAP(SYNC_CLOCK_BASE, 0x00); Can this be the problem? Does anyone have experienced the same problems before? I need to have the interrupts on all CPU's. http://forum.niosforum.com/work2/style_emoticons/<#EMO_DIR#>/sad.gif The code in alt_irq_register.c (158)
do
{
if (active & mask)
{
alt_irq(alt_irq_arg, i);
break;
}
mask <<= 1;
i++;
} while (1);