BSP Data Structures

Other versions of this page are also available for the following:

Windows Mobile Not SupportedWindows Embedded CE Supported

8/27/2008

In earlier versions of Windows Embedded CE, the kernel, OEM adaptation layer (OAL), and Kernel Independent Transport Layer (KITL) were built into a single executable. This enabled other components to be referenced simply by doing an extern declaration. For Windows Embedded CE 6.0, you can no longer use an extern declaration because the kernel, OAL, and KITL are separated. In the kernel, you can no longer use extern DWORD varX to access a variable in the OAL.

To access shared information, you can use the following structures to share information between the kernel and the OAL.

Programming Element Description

OEMGLOBAL

This structure defines all the functions that the OAL must implement for BSP migration, and all the variables that it needs to define.

NKGLOBAL

This structure defines all the functions and variables that the kernel exports. The OAL can only access kernel functions using this global structure.

On kernel startup, the OS finds the OAL entry point and then calls the entry function to exchange the pointer with the global block. Once this step is done, the kernel has all the information it needs from the OAL and the OAL then has access to all the exports from the kernel.

See Also

Concepts

BSP Migration Guide

Other Resources

BSP Migration Reference