I am trying to enable the interrupt associated with UART3 interrupts (IRQ) for the Cortex-A9. I believe that my program is doing the following:
1. calls _enable_IRQ();
2. writes to the GIC Distributor Interrupt Enable register to enable the interrupt for UART3 = MA_IRQ_74 (0x00000400 to 0x48241108)
3. sets up UART3 to interrupt on received characters or tx FIFO empty.
I can see that the UART3 IIR register has an interrupt pending (IIR[0] = 1'b0), but my breakpoint at the RAM interrupt vector (0x4030D018) is never triggered. I have verified through the debugger that the I-Bit of the CPSR is 0, and that both the CPU interface and the Distributor for the GIC are set to forward interrupts to the processor (ICCICR[0] = 1'b1 and IDDDCR[0] = 1'b1). What else do I need in order to have the CPU vector to the IRQ location?
This is really the first step that I need to get things working. After this, I will need to modify the default RTS code to set up an IRQ stack. Any helpful tips on doing this? I located and extracted the rtssrc.zip file in the CCS 5 installation. I could iteratively try to include and compile the individual sources one by one (starting with boot.asm), but there has to be a better way.
I really don't want to be wasting time re-writing assembly. If something already exists along these lines I would be very happy to use it.
Thanks,
Errett