Hi all,
I'm trying to use the ARM timer together with interrupts. As far as I know, the timer interrupt IRQ_LOCAL_CNTPNS is PPI(14), or IRQ 30.
When I program the GIC to use this interrupt, and set the timer to elapse, I see an interrupt coming in, and using the GICC_IAR register renders 1023.
In Circle this is seen as a spurious interrupt.
When I then read the GICD_ICPENDR0 register, I see that bit 30 is set. This is what I would expect.
However, why don't I get 30 in the IAR register?
When I try to end the interrupt, if I write either 1023 or 30 to GICC_EOIR, I'm not getting a new interrupt.
What am I missing here? Do I need to clear the pending bit? Do I need to program something else?
Any help is welcome.
Regards,
Rene Barto
I'm trying to use the ARM timer together with interrupts. As far as I know, the timer interrupt IRQ_LOCAL_CNTPNS is PPI(14), or IRQ 30.
When I program the GIC to use this interrupt, and set the timer to elapse, I see an interrupt coming in, and using the GICC_IAR register renders 1023.
In Circle this is seen as a spurious interrupt.
When I then read the GICD_ICPENDR0 register, I see that bit 30 is set. This is what I would expect.
However, why don't I get 30 in the IAR register?
When I try to end the interrupt, if I write either 1023 or 30 to GICC_EOIR, I'm not getting a new interrupt.
What am I missing here? Do I need to clear the pending bit? Do I need to program something else?
Any help is welcome.
Regards,
Rene Barto
Statistics: Posted by renebarto — Mon Oct 28, 2024 11:14 pm — Replies 0 — Views 15