BSP Data Structures (Compact 2013)
10/16/2014
In earlier versions of Windows Embedded Compact, 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. Now, 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 |
---|---|
This structure defines all the functions that the OAL must implement for BSP migration, and all the variables that it needs to define. |
|
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.