04-28-2014 02:09 PM
I am trying to use interrupts in a MicroBlaze system. I am using Vivado 2013.4 IP Integrator. I have a simple design with the MicroBlaze system, Interrupt Controller and an AXI Timer. In software, I have tried using the AXI timer interrupt example code. I used ChipScope to monitor the interrupt signals and they all assert(from the timer, through the Interrupt Controller and into the MicroBlaze) but the ISR is never called. I tried looking at the generated system.xml file in the Hardware Plaftorm in the SDK where I found that the interrupt line from the Interrupt Controller to the MicroBlaze has the following port description:
<PORT DIR="O" NAME="irq" SIGIS="undef" SIGNAME="microblaze_0_axi_intc_irq">
The other interrupt lines have SIGIS=Interrupt. Could this be causing the MicroBlaze not to accept interrupts? Why is this signal not defined as an interrupt when the other signals are? I can't seem to change this file within the SDK, but if I can change it another way, will that make any difference?
04-29-2014 07:43 AM
Sorry about this, but I can't seem to compress the project small enough to attach it here. I uploaded it to dropbox here. If that is unacceptable, I will need to know exactly what parts of the project are needed.
By way of information for you, this project is targeted for a custom board so if you need to run it, you will need to alter some constraints and parts of the top wrapper.