Beginning with version 5.2.2, WinDriver for VxWorks (a.k.a. DriverBuilder) implements a callback routine — windrvr_isr — which, if set by the user, is executed immediately when an interrupt is received, thus enabling you to speed up interrupt acknowledgment and processing.

WinDriver includes the following declaration of windrvr_isr:
int (__cdecl *windrvr_isr)(void);

To use the windrvr_isr callback routine, do the following:

  • Implement your interrupt handler routine:
    int __cdecl my_isr(void)
    {
    /* implenet your ISR */
    return TRUE; /* If TRUE, continue regular */
    /* WinDriver handling; */
    /* If FALSE, exit ISR. */
    }

 

  • Include the following declaration in your code:
    extern int (__cdecl *windrvr_isr)(void);

 

  • Set windrvr_isr to point to your interrupt handler routine, after calling drvrInit():
    windrvr_isr = my_isr;