Tool/software: TI-RTOS
I setup the GPIO2_2 as an input and configured it to interrupt on a rising edge. I used the HWI that is setup by the GPIO driver as well tried this independently using an HWI I statically defined in the cfg file.
The DSP1 IRQ 56 was connected to Crossbar irq 25 (GPIO2). The external interrupt is configured to produce a rising edge every 15us. What I noticed is that it takes almost 500-700us for the control to jump in the ISR. However, if I enable both INT1 and INT2 for GPIO2 (keeping the crossbar config the same as I have mentioned able) I get a very good response.
As you can see the latency is roughly 2us. Blue trace = external interrupt Maroon trace = GPIO I/O toggled in the ISR to measure response time.
Another observation. If I do not use the GPIO drivers inbuilt HWI and use my own, and clear IRQ status registers in the ISR manually, I noticed that clearing both IRQSTATUS_0 and IRQSTATUS_1 causes the response to become sluggish again.
Please can you let me know what I could be doing wrong or whether this is expected behavior.
Thanks very much.
Regards,
Shaunak