BSP Porting Guide (Compact 7)
3/12/2014
This guide provides information to aid board support package (BSP) developers who are porting a Windows CE 5.0 or Windows Embedded CE 6.0 BSP to Windows Embedded Compact 7. If you want to port a BSP from Windows CE 5.0 to Windows Embedded Compact 7, you must first port your BSP from Windows CE 5.0 to Windows Embedded CE 6.0 and then port from Windows Embedded CE 6.0 to Windows Embedded Compact 7. Porting from Windows CE 5.0 to CE 6.0 represents about 90 percent of the overall effort needed, because it is during this process that you must break the kernel into separate libraries and evaluate the drivers as candidates for kernel mode or user mode.
This guide is divided into two sections: porting a BSP from Windows CE 5.0 to Windows Embedded CE 6.0 and porting a BSP from Windows Embedded CE 6.0 to Windows Embedded Compact 7. Windows Embedded CE 6.0 was released in 2006, so additional resources now exist on porting a BSP to Windows Embedded CE 6.0. MSDN, for example, is a good source for supplemental information.
The time required to port a BSP varies depending on which kernel the BSP is being ported from. You may be able to port from Windows Embedded CE 6.0 to Windows Embedded Compact 7 in just hours. However, a full port will most likely take weeks—possibly even months—depending on the complexity of your drivers and OEM adaptation layer (OAL). In general, though, you can port a BSP to a CEBASE configuration in a few days.
Differences Between CE 5.0 and CE 6.0
Changes introduced in the Windows Embedded CE 6.0 kernel are the source of the greatest amount of effort in porting to Windows Embedded CE 6.0. For the Windows Embedded CE 6.0 kernel, the kernel independent transport layer (KITL) was redesigned into a separate, optional DLL, and drivers are separated into user mode and kernel mode. The result is that the kernel mode provides better performance but at the cost of stability. A failure in a kernel-mode driver can bring down the kernel also. A user-mode driver offers isolation from the kernel at the cost of performance.
MSDN has additional information on OAL and kernel separation, user-mode drivers, and kernel-mode drivers, as shown in the following list:
- Microsoft Showcase: Porting a BSP to Windows Embedded CE 6.0
- Microsoft Showcase: Porting Drivers to Windows Embedded CE 6.0
- Windows CE Base Team Blog - CE6 OAL: What You Need to Know
- Windows CE Base Team Blog - CE6 Drivers: What You Need to Know
- Windows CE Base Team Blog - The CE6 OS Differences in a Nutshell
- User Mode Driver Framework
Differences Between CE 6.0 and Compact 7
From a BSP point of view, there are few changes between Windows Embedded CE 6.0 and Windows Embedded Compact 7. The changes consist primarily of the relocation of binaries during build and some altered code.
In This Section
- Migrate from CE 5.0 to CE 6.0
Discusses the changes that you must make to port your BSP from Windows CE 5.0 to Windows Embedded CE 6.0.
- Migrate from CE 6.0 to Compact 7
Discusses the changes that you must make to port your BSP from Windows Embedded CE 6.0 to Windows Embedded Compact 7.