Share via


Device Driver Libraries

Microsoft® Windows CE provides the basic infrastructure with which you can rapidly and easily create a board support package (BSP) by reusing device drivers from a number of common driver libraries. The common driver libraries are listed below and include drivers for microprocessor-native peripherals as well as microprocessor-specific OAL support libraries for several microprocessors. Because the device drivers in these libraries are reused, you should have little or no new source code to write while developing a BSP for a given SDB that uses one of these microprocessors.

The following table shows the different device driver libraries that are shipped in Platform Builder to assist you in creating a BSP.

Component Description
Microprocessor-native libraries Device drivers for high integration microprocessor-native peripherals. For example, the StrongArm microprocessor, and its companion chip integrates many peripherals on the microprocessor, such as LCD, serial, USB Host, USB Function, and so on. An SDB that uses a specific microprocessor will use the same set of microprocessor-native drivers. In Windows CE, most microprocessors are high-integration microprocessors that contain many native peripherals. These are referred to as CSP (CPU/Chipset Support Package) drivers and are located in %_WINCEROOT%\Public\Common\Oak\CSP.

For more information, see CSP Drivers.

Microprocessor-specific OAL support libraries OAL functions for devices such as a real-time clock, timer, and a debug Ethernet controller that are common to a microprocessor. This component minimizes the OAL code written. These are also referred to as the CSP drivers and are located in %_WINCEROOT%\Public\Common\Oak\CSP.

For more information, see CSP Drivers.

BSP or platform-specific drivers Device drivers for peripherals that are specific to a given SDB. These drivers have platform-specific code and can only be used on that hardware platform. These drivers are located in %_WINCEROOT%\Platform\%_TGTPLAT%\Drivers.

For more information, see BSP Drivers.

Other common peripheral drivers Drivers for strategic peripheral chipsets that are commonly found or included on many SDB designs. These include devices like Realtek RTL8139, generic NE2000, DEC/Intel 2114x Ethernet chipsets, 3DLabs Permedia3, MediaQ MQ200, Tvia TVIA5000, and ATI Rage XL display chipsets, and Ensoniq and Tvia TVIA500 audio chipsets. The goal is to provide production quality drivers for 50% of the strategic chipsets that cover more than 75% of the retail SDBs. These are referred to as common drivers and are located in %_WINCEROOT%\Public\Common\Oak\Drivers.

For more information, see Common Drivers.

The CSP and common drivers in %_WINCEROOT%\Public\Common\Oak\CSP or %_WINCEROOT%\Public\Common\Oak\Drivers use the CEDDK routines to abstract the platform hardware and buses. These driver DLLs are built and generated during the Sysgen phase. A BSP can use these drivers by including the appropriate entries in its Platform.reg file and by including the DLL name in the Platform.bib file. Some of the common drivers are included in Common.reg and Common.bib and are included in an OS image by setting an environment variable. For more information about environment variables, see Environment Variables.

The following illustration shows the arrangement of the driver libraries provided.

Typically, a BSP consists of a set of CSP drivers from %_WINCEROOT%\Public\Common\Oak\CSP, the appropriate configuration files and headers that are needed to customize the drivers to an SDB, .bib files, .reg files, and the build files necessary to generate the kernel, GWES, a boot loader, and driver images.

If a board has non-native peripherals such as an Ethernet controller, the BSP uses drivers from %_WINCEROOT%\Public\Common\Oak\Drivers or %_WINCEROOT%\Platform\%_TGTPLAT%\Drivers. Many microprocessor-native peripherals can use common drivers from %_WINCEROOT%\Public\Common\Oak\Drivers without modification.

See Also

Board Support Packages

Last updated on Wednesday, April 13, 2005

© 2005 Microsoft Corporation. All rights reserved.