Share via


Servicing Interrupts (Windows Embedded CE 6.0)

1/6/2010

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 Embedded 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

Other Resources

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