Hello everyone,
i'd like to use an interrupt from a pushbutton. The buttons are connected via axi_gpio (IOCarrierCard). They works in uio in petalinux. I can read the value of the 4 pushbuttons in uio.
Now i try to detect an interrupt.
I enabled interrupts in axi_gpio ip and fabric interrupts and IRQ_F2P in zynq processing system. After that i connected them.
In the kernel config i activated "userspace i/o drivers", "userspace i/o platform driver with irq..." and "xilinx axi performance monitor driver".
My system-top.dts looks like:
&axi_gpio_0 {
ttcompatible = "generic-uio";
interrupts = <0 29 4>;
ttinterrupt-parent = <&intc>;
t};
After booting the system and push the buttons, i don't see an interrupt with "cat /proc/interrupt" (i see 61: 0 0 GIC 61 gpio ).
I also try to write a user application and wait for an interrupt with:
int irq_count = 0;
... open and map uio ....
if(read(fd, &irq_count, 4) != 4)
t{
ttperror("read uio0");
t}
printf("Interrupt!");
I think after receiving an interrupt, the programm should print "Interrupt" but nothing happpens.
I followed this tutorial: http://svenand.blogdrive.com/archive/150.html#.VWRsV0YQjph
My setup:
Petalinux, SDK, Vivado 2014.4
Microzed Board with IOCarrier Card
Thanks for your answers,
Sebastian