Share via


Interrupts (OAL) (Compact 2013)

3/26/2014

Windows Embedded Compact uses interrupts to respond to both hardware and software events. These events may be internal, such as a timer tick, or external, such as requests by I/O peripherals or other CPUs. The header file that defines the OAL interrupt module interface is %_WINCEROOT%\Platform\Common\Src\Inc\oal_intr.h. The interrupt functions are linked into oal.lib.

The following are examples of interrupt code locations:

  • %_WINCEROOT%\Platform\Common\Src\Common\Intr
  • %_WINCEROOT%\Platform\Common\Src\SOC\<SOC Name>\OAL\Intr
  • %_WINCEROOT%\Platform\Common\Src\<CPU Family>\Common\Intr
  • %_WINCEROOT%\Platform\<BSP Name>\Src\OAL\Oallib

The following table shows the main interrupt functions. For more information about interrupt functions, see Interrupt Reference and OAL Functions. You may need to adapt the interrupt code to your hardware platform.

Important

Note that in some cases, the OAL and BSP functions have similar names, for example, OALIntrDisableIrqs and BSPIntrDisableIrq. The name similarity exists because the BSPIntr* functions are called by the OALIntr* functions if your implementation uses hardware platform callbacks.

Purpose

Function name

Enables interrupts

OALIntrEnableIrqs, BSPIntrEnableIrq

Disables interrupts

OALIntrDisableIrqs, BSPIntrDisableIrq

Initializes interrupts

OALIntrInit, BSPIntrInit, OALIntrMapInit

Handles interrupt requests

OALIntrRequestIrqs, BSPIntrRequestIrqs

Releases interrupts

OALIntrReleaseSysIntr

Handles interrupt translation and mapping

OALIntrStaticTranslate, OALIntrTranslateIrq

See Also

Concepts

OAL Code Overview