Share via


Production-Quality OAL Components (Windows Embedded CE 6.0)

1/5/2010

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 SOC Directory Layout.

Note

The SOC directory is new for Windows Embedded CE 6.0. The contents of the Windows CE 5.0 CSP directory has been restructured and migrated to the SOC directory.

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

Concepts

Production-Quality OAL