Share via


Production-Quality OAL Components (Windows CE 5.0)

Send Feedback

The production-quality OAL model divides the original monolithic OAL into a collection of modular libraries. Each library is a functional component within the OAL.

Although the library code's location depends on the scope of the hardware it supports, the code is grouped in the following categories:

  • Common

    Code that is not hardware-specific

  • CPU family

    Code that is unique to the CPU family

  • Chip-specific

    Code that is unique to a specific CPU or system-on-a-chip (SOC) model

  • Platform

    Code that is unique to a specific board implementation

For more information about the directory structure that describes these categories, see BSP and CSP Directory Layout.

Each library provides an external interface made up of functions and global variables that communicate between the other modular libraries and the OAL and the kernel.

The following table shows the collection of modular libraries available with the production-quality OAL model.

Library Description
Boot Arguments Passes parameters from the boot loader to the kernel in a uniform way.

For more information, see Boot Arguments Library.

Cache Implements cache and translation look-aside buffer (TLB) operations.

For more information, see Cache Library.

Ethernet Drivers Implements Ethernet kernel independent transport layer (KITL) device drivers, which are implemented in the common library.

The %_WINCEROOT%\Platform\Common\Src\Inc\Oal_ethdrv.h file contains prototypes for the Ethernet KITL device drivers. For information about the function prototypes, see %_WINCEROOT%\Platform\Common\Src\Inc\Oal_kitl.h.

Flash Implements code for flash memory operations. The production-quality OAL implementation provides generic solutions for JEDEC-compliant flash memory.
Interrupt Implements interrupt processing.

For more information, see Interrupt Library.

Interrupt Latency Timing Implements ILT* functions. This library usually requires ILTiming to be enabled, as well as the Interrupt and Timer libraries.

For more information, see Interrupt Latency Timing Library.

I/O Implements bus address translation, reading bus configuration space, and I/O operations.

For more information, see I/O Library.

IOCTL Implements the table driver OEMIoControl, which calls kernel functions from user space. It also implements some generic OALIoCtlXXX functions.

For more information, see IOCTL Library.

KITL Implements debug communication over KITL.

For more information, see KITL Library.

Log Implements consistent logging in the OAL.

For more information, see Logging Library.

Memory Implements translation between physical and virtual memory in kernel address space.

For more information, see Memory Library.

PCI Implements PCI bus support in the kernel. It also implements simple PCI bus configuration functions intended to be used for boot loader and KITL.

For more information, see PCI Library.

Power Management Implements system suspend and resume operations.

In most cases, power management is hardware dependent. For more information, see %_WINCEROOT%\Platform\Common\Src\Inc\Oal_power.h.

Profiler Implements OAL profiling.

This library implements the OAL functions required for kernel profiling. For more information, see %_WINCEROOT%\Platform\Common\Src\Inc\Oal_profiler.h.

Real-Time Clock Implements functionality for real-time clock (RTC).

For more information, see %_WINCEROOT%\Platform\Common\Src\Inc\Oal_rtc.h.

Timer Implements the system tick, or clock.

For more information, see Timer Library.

See Also

Production-Quality OAL

Send Feedback on this topic to the authors

Feedback FAQs

© 2006 Microsoft Corporation. All rights reserved.