Servicing Interrupts (Windows CE 5.0)

Send Feedback

Interrupt servicing has two parts: a kernel-mode interrupt service routine (ISR) and a user-mode interrupt service thread (IST). In some OSs, ISRs are small and fast pieces of assembly code, but in Windows CE, the kernel handles saving and restoring registers, so you can implement an ISR as small and fast C code.

The ISR should do the minimum work required to service the interrupt. The following list shows the minimum work required to service an interrupt:

  1. The ISR can read data from the device into a software buffer if the data may be lost or overwritten by another interrupt.
  2. The ISR clears the interrupt condition on the device.
  3. The ISR returns a SYSINTR to the kernel.
  4. The kernel sets an interrupt event that unblocks the IST that corresponds to the ISR.
  5. The scheduler schedules the IST. The IST finished processing the interrupt.

See Also

Defining an Interrupt Identifier | Implementing an ISR | Loader | PCI Bus Driver | Real-Time Priority System

Send Feedback on this topic to the authors

Feedback FAQs

© 2006 Microsoft Corporation. All rights reserved.