05-22-2017 09:31 AM
Our driver called the following API to install interrupt handler:
viStatus = viInstallHandler(aSession, VI_EVENT_PXI_INTR, pfRoutine, (ViAddr)parameter);
With the help of a PCI analyzer, I noticed that our Interrupt Service Routine pfRoutine was called with 1.3ms delay from when the interrupt was fired. I found that pfRoutine is actually a user space call back function. Our driver is in the User space too.
Is there a way to make a Kernel Interrupt Service call directly? Or we have to re-design our driver in Kernel space. How can we do it?
05-30-2017 07:04 AM
Essentially a duplicate post of this: https://forums.ni.com/t5/LabWindows-CVI/How-to-create-a-Kernel-Space-driver/td-p/3634776