Share via


Interrupt Handling

Other versions of this page are also available for the following:

Windows Mobile Not SupportedWindows Embedded CE Supported

8/28/2008

When an interrupt is processed, a specific sequence of events takes place. You should write the interrupt service request (ISR) and interrupt service thread (IST) for your device driver with the following sequence of events in mind:

  1. When an interrupt occurs, the microprocessor jumps to the kernel exception handler.
  2. The exception handler disables all interrupts of an equal and lower priority at the microprocessor, and then calls the appropriate ISR for the physical interrupt request (IRQ).
  3. The ISR returns a logical interrupt, in the form of an interrupt identifier, to the interrupt handler and typically masks the board-level device interrupt.
  4. The interrupt handler re-enables all interrupts at the microprocessor, with the exception of the current interrupt, which is left masked at the board, and then signals the appropriate IST event.
  5. The IST is scheduled, services the hardware, and then finishes processing the interrupt.
  6. The IST calls the InterruptDone function, which in turn calls the OEMInterruptDone function in the OAL.

OEMInterruptDone re-enables the current interrupt.

In This Section

  • Real-Time Priority System
    Describes the real-time priority system, the priority levels associated with various operating system threads, and the thread priority levels available for other threads.