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