I have a custom FIFO design in the PL that generates an interrupt after collecting 512 samples. The interrupt is connected to axi_intc_0. I am using the following code to setup the device and interrupt system:
static XIntc fifoInstance;
#define FIFO_DEVICE_IDttXPAR_AXI_INTC_0_DEVICE_ID
#define FIFO_IRPT_INTRttXPAR_AXI_INTC_0_PIRDEMODULATOR_0_IRQ_FIFO_INTR
void fifo_isr()
{
tprint("Inside ISR
r");
}
main()
{
.
.
.
XIntc_Config * ConfigPtr = XIntc_LookupConfig(FIFO_DEVICE_ID);
int result = XIntc_Initialize(&fifoInstance,FIFO_DEVICE_ID);
if (result == XST_SUCCESS)
{
tprint("Interrupt init Successfully
r");
}
else
{
tprint("Interrupts could not be init
r");
}
u8 mode = XIN_REAL_MODE;
result = XIntc_Connect(&fifoInstance, FIFO_IRPT_INTR,
tt (XInterruptHandler) fifo_isr, &fifoInstance);
if (result == XST_SUCCESS)
{
tprint("Interrupt Connected Successfully
r");
}
else
{
tprint("Interrupts could not be connected
r");
}
XIntc_Enable(&fifoInstance, FIFO_IRPT_INTR);
result = XIntc_Start(&fifoInstance, mode);
if (result == XST_SUCCESS)
{
tprint("Interrupt started Successfully
r");
}
else
{
tprint("Interrupts could not be started
r");
}
while(1)
{
}
.
.
.
}
here is the output:
Interrupt init Successfully
Interrupt Connected Successfully
Interrupt started Successfully
But it never gets into the isr.
Can you please help me with this? TIA