Separate the Kernel from OAL and KITL (Compact 7)
3/12/2014
In Windows CE 5.0, kern.exe incorporated both the Microsoft-supplied kernel and the OEM-supplied OEM adaptation layer (OAL). Windows Embedded CE 6.0 separated these two libraries into oal.exe and kern.dll to make future ports easier, to encourage production-quality OAL (PQOAL) development, and to reduce dependencies among the OAL, the kernel, and the kernel independent transport layer (KITL).
In Windows CE 5.0, the kernel was a single binary, but three versions existed for different build types: kern.exe (OAL and kernel), kernkitl.exe (OAL, kernel, and KITL), and kernkitlprof.exe (OAL, kernel, KITL, and profiler). In Windows Embedded CE 6.0, there are three separate binaries: oal.exe, kernel.dll, and the optional kitl.dll. If you are doing production-quality OAL development, we highly recommend separating the OAL and the KITL.
In Windows Embedded CE 6.0, the kernel is built as a DLL, and the oal.exe file contains the startup process. For information about the startup process, see Windows Embedded Base Team Blog - How Does Windows Embedded CE 6.0 Start?
The following sections contain procedures for porting your BSP from Windows CE 5.0 to Windows Embedded CE 6.0. The procedures must be followed in the order listed here.
In This Section
- Production-Quality OAL (PQOAL)
Describes how to transition your code to PQOAL structure.
- Oal.exe
Describes how to remove KITL from the OAL.
- Kernel.dll
Describes the global structure that the kernel implements, and discusses how the profiler is no longer in the kernel.
- Kitl.dll
Describes the steps that you must take to separate the KITL source code from the OAL source code.
- Additional Steps for CEPC
Describes the additional steps that you need to take to separate the kernel, OAL, and KITL when you use a Windows Embedded Compact PC-based platform (CEPC).