Port a BSP from Compact 7 to Compact 2013 (Compact 2013)


If you have a board support package (BSP) from an earlier version of Windows Embedded Compact, you can easily port that BSP to Windows Embedded Compact 2013 instead of creating a new one. This section discusses changes in Compact 2013 that may affect porting a BSP from Compact 7 to Compact 2013.

The topics in this section assume that you are porting a BSP that was written for Compact 7. If your BSP was written for Windows Embedded CE 6.0 or earlier, see the BSP Porting Guide in the Compact 7 documentation on MSDN.


Compact 2013 does not support legacy binary files.

General Changes in Compact 2013

  • Additions to the networking stack
    The networking stack in Compact 2013 now includes a Dynamic Host Configuration Protocol version 6 (DHCPv6) client, Layer Two Tunneling Protocol/Internet Protocol security (L2TP/IPsec) over IPv6 for VPN connectivity, and utilities for configuration and display of IPv6 information. For more information, see IPv4 and IPv6 Configurable Registry Settings.
  • New kernel lib IOCTL
    The new function IOCTL_KLIB_GETOEMIOCTLFUNC retrieves the function pointer of OEMIoControl. This retrieval allows all kernel mode DLLs to function the same way; that is, the reserved parameter will always be KernelLibIoControl. For more information, see IOCTL_KLIB_GETOEMIOCTLFUNC.
  • _DLLEntryCRTStartup function removed
    If you use the DLLENTRY macro, you may need to update your sources file. For more information, see DLLENTRY.
  • New default hardware drivers
    By default, the Accelerometer Driver, Battery Driver, and Notification LED Support driver are included in all OS images. If you have a separate driver or your hardware does not support these features, see BSP Environment Variables for information on how to exclude drivers from your OS images.

Changes to CRT and C++ libraries

Compact 2013 has expanded support for CRT and C++ functions and now aligns with Windows desktop and Visual Studio 2013. The most significant changes are briefly described in the following list; however, for more information about these changes and information about all CRT and C++ changes, see CRT and C++ Changes in Windows Embedded Compact 2013.

  • CoreDLL split into two files
    The original Coredll.dll file has been split into Coredll.dll, which contains the WIN32 APIs, and MSVCRT.dll, which contains the CRT APIs and functions.
  • fulllibc.lib file changed to bootcrt.lib
    Bootcrt.lib is the CRT library that contains the APIs and functions needed at the kernel’s early boot phase or used by boot loaders. Replace any references to fulllibc.lib with bootcrt.lib.

In This Section

See Also


BSP Development