Hi
I have a new problem with my Ap7000 for you :-)
It seems that a software-problem aka bug triggers an interrupt.
Concrete situation:
All autovectored interrupts are handled by one function that correspondents to its priority. Then the
Interruptline is looked up and an array of functionadresses is indexed and the function is called.
It basically the same like the interrupthandling that can be found in the Framework..
But self written :-) Its a prooven system and it works perfectly.
Now: accidently comletely randomly interrupt line 96 is triggering an interrupt. It mostly happens when cpu-load is high.
This IRQ line seems to be the connection to the PBA-depnendend periphery SPI0.
SPI0 is never used! Better: SPI0 clock is deactivated! (corresponding PBAmask-bit zeroed)
How this interrupt happens? :-)
If someone has any idea how an unclocked periphery can trigger an interrupt.. please shoot.
My understanding is that already enabling this interrupt should cause the cpu to a deadlock. since pba-acces should hang. at loeast every following pba access should hang.
Code for extracting the Index for the normal interrupt priority:
unsigned int icr = AVR32_INTC.icr[2]; unsigned int irr = AVR32_INTC.irr[icr]; unsigned int Index = icr*32+__builtin_ctz(irr); //... HandlerList(); //call
CPU-Exceptions are handled. this is not an exception that randomly jumps into a interrupt handler.
hmmh. Idea?