AM5728, PDK 1.0.2, Compiler V8.1.0, BIOS 6.45.1.29, XDC 3.32.0.06
Using the AM5728 on a custom board. DSP core running SYS/BIOS. Talking to an FPGA via PCIe,
which seems to be working. The DSP sends a command to the FPGA and upon completion the FPGA
sends an interrupt to the DSP via GPIO8_8. Commands are sent in groups of 4 every 570 usec.
Commands are spaced apart by ~74 usec. Each command results in two interrupts, which are ~28 usec
apart.
This seems to be working but I miss about 1 out of 100 interrupts. My code can detect a missed
interrupt via timeout. When I miss an interrupt I set a GPIO high allowing me to capture the
event on a storage scope or logic analyzer. I added a toggle of another GPIO in the interrupt
handler callback function for the GPIO. I can see that in the case of the missed interrupt that
GPIO does not toggle, but the scope shows the interrupt and it looks as good as good interrupts,
leading me to believe the AM5728 is actually missing the interrupt.
The GPIO is configured for rising edge interrupt. The level is 1.72v and the pulse lasts ~30 nsec.
I was thinking that maybe something is occasionally disabling interrupts, so I set a breakpoint
in the HWI function Hwi_disableInterrupt() but that was never hit, so I don't think that is the
issue.
Any ideas/recommendations on how to troubleshoot this further?