01-27-2013 12:02 AM
05-13-2013 10:09 AM
if you want to connect your interrupts to Zynq PS you connect it using GIC(General Interrupt controller)
05-13-2013 10:59 PM
When I add my own IP and if I want use it in interrupt, I think I must use Axi interrupt Controller. I use the the IRQ of the ARM that I connnect on the Axi interrupt Controller. I can have many source of interrupt and not only one.
05-13-2013 11:13 PM
Do you have a link or a tutorial who explain how add the GIC when you use your own IP that you added with the create or import peripheral ? In the website of zedboard in the support there is a lab http://zedboard.org/course/introduction-zynq you can see the lab 5. They use the Axi gpio and they enable the interrupt unfortunately with my IP I can't make like it.
05-13-2013 11:21 PM
You can see in this picture I add my own ip interrupt I have a signal who is the signal interrupt when it's high it send a signal to Arm processor. I add the Axi interrupt Controller like interface. In the lab of the zedboard.org the use the ip AXI general Purpose IO and then they active the interrupt. but with my problem I don't want use the axi gpio like in tne lab.
05-13-2013 11:47 PM
In the Axi interrupt Controler I have many possibility of interruption I chose the interrupt0 of my IP he has the number ID is 0 and number of mask is 01
05-13-2013 11:54 PM
Now when I am in the sdk I write this programme in c language. Unfortunately when I launch the programme the function handler don't trigger. When the switch of the zedboard the source of interrupt is high the my_interrupt_handler must work but it's'nt work. I don't understand Do you have idea ? I don't know if the probleme is software or hardware ?
xil_printf(" Fonction d'interruption déclenchée \n\r");
XIntc InterruptController; /* Instance of the Interrupt Controller */
static XIntc Intc;
void *data = NULL;
int status = INTERRUPT_SelfTest(XPAR_INTERRUPT_0_BASEADDR);
if(status != XST_SUCCESS)
xil_printf(" self test fail\n\r");
xil_printf(" self test OK \n\r");
XIntc_MasterEnable(XPAR_INTC_0_BASEADDR); // base address of the interrupt controller
xil_printf("Waiting for Interrupts.... \n\r");
05-14-2013 01:03 AM
05-14-2013 01:09 AM