Production-Quality Drivers (Windows CE 5.0)

Send Feedback

Microsoft provides production-quality drivers that adhere to best practices for developing Windows CE device drivers.

Production-quality drivers generally have these characteristics:

  • Work without modification on the busses for which they were designed.

  • Reduce the amount of customization required for drivers to function on various hardware platforms.

  • Enable all necessary functionality in a specific driver technology.

  • Expose drivers in the Platform Builder Catalog.

  • Use the bus agnostic model when applicable.

    For more information, see Bus Agnostic Drivers.

  • Comment source code.

  • Use all Windows CE 5.0 capabilities when possible.

    For example, in Windows CE 5.0, driver namespaces, Power Manager IOCTLs, and bus driver interfaces are fully implemented in production-quality drivers. For more information, see Device File Names, Power Management IOCTLs, and Bus Drivers.

  • Have the following architectural improvements:

    • Minimized PDD code to allow easier porting to other hardware platforms.
    • Abstracted resource assignments to the registry when possible.
    • Reusable, platform-independent libraries.

    For more information, see Best Practices for Developing a Device Driver.

Not every driver in Windows CE 5.0 is defined as a production-quality driver.

The following tables show the production-quality device drivers, the location of the device driver's sources file under %_WINCEROOT%, and the name of the binary.

Block Drivers

Driver Sources file location Binary
ATAPI PCI/IDE storage block driver Public\Common\OAK\Drivers\Block\ATAPI\Common Atapi.dll
USB host mass storage client driver Public\Common\OAK\Drivers\USB\Class\Storage\Class

Public\Common\OAK\Drivers\USB\Class\Storage\Disk\SCSI2

Usbmsc.dll

Usbdisk6.dll

USB function mass storage driver Public\Common\OAK\Drivers\USBFN\Class\Storage\Transport\BOT Usbmsfn.dll
Secure Digital Memory Card driver Not applicable. Sdmemory.dll

Display Drivers

Driver Sources file location Binary
ATI Rage XL Expert 98 (Warbird) Public\Common\OAK\Drivers\Display\RageXL Ddi_ragexl.DLL
Silicon Motion 3DR (Cougar) Public\Common\OAK\Drivers\Display\SMI3DR Ddi_3dr.DLL
Geode/MediaGX LCD controller driver Public\Common\OAK\CSP\X86\Geode\GXVIDEO\Base\Base

Public\Common\OAK\CSP\X86\Geode\GXVIDEO\Base\RBase

Ddi_gx.DLL

Ddi_rgx.DLL

MediaQ MQ200 Public\Common\OAK\Drivers\Display\MQ200 Ddi_mq200.DLL
Flat driver for the Intel PXA27x Development Platform Public\Common\OAK\CSP\ARM\Intel\PXA27X\Display\PXA27X_LCD Pxa27x_lcd.DLL
VGA linear (flat) framebuffer driver Public\Common\OAK\Drivers\Display\VGAFlat Ddi_flat.DLL
Flat driver for the SMDK2410 Samsung MCU Development Kit LCD controller Public\Common\OAK\CSP\ARM\Samsung\S3C2410X\Display\S3C2410X_LCD S3c2410x_lcd.dll

Flash Media Drivers

Driver Sources file location Binary
MirrorBit NOR flash driver Public\Common\OAK\Drivers\Block\MSFlashFMD\FASL\FASLD Fasld.dll
SD NAND flash PCI driver Public\Common\OAK\Drivers\Block\MSFlashFMD\SDNPCI\SDNPCID Sdnpcid.dll
NOR flash Strataflash Public\Common\OAK\Drivers\BLOCK\MSFlashFMD\Strata\StrataD Stratad.dll
SmartMedia NAND flash (SMFLASH) driver for the SMDK2410 Samsung MCU Development Kit Not applicable. Smflash.dll

Network Drivers

Driver Sources file location Binary
Realtek RTL8139 debug Ethernet adapter driver Public\Common\OAK\Drivers\EthDbg\RTL8139 Rtl8139dbg.dll
NE2000-compatible generic Ethernet adapter PCI, PC Card, and ISA driver Public\Common\OAK\Drivers\NetCard\NE2000 Ne2000.dll
SMS SMSC100FD Ethernet adapter driver for SH4-based hardware platforms Public\Common\OAK\Drivers\NetCard\SMSC100FD Smsc100fd.dll
National Semiconductor DP83815 (MacPhyter) Ethernet adapter driver Public\Common\OAK\Drivers\NetCard\DP83815 Dp83815.dll
SMC9000 debug Ethernet adapter driver Public\Common\OAK\Drivers\EthDbg\SMC9000 Smc9000.dll
Intel Pro E100BEX Ethernet adapter driver Public\Common\OAK\Drivers\NetCard\E100BEX E100bex.dll
CISCO Aironet 340/350 PCMCIA WLAN card driver Not applicable. Pcx500.dll
Intersil Prism2 WLAN PCMCIA driver Not applicable. Islp2nds.dll
Realtek RTL188x 802.11b native driver Not applicable. Rtl1880nf.dll

PC Card Drivers

Driver Sources file location Binary
PC Card MDD Public\Common\OAK\Drivers\PCCard\MDD\MDD_Both Pcc_serv.dll
Texas Instruments PC Card socket driver for the 12XX, 14XX, and 15XX PC Card controllers Public\Common\OAK\Drivers\PCCARD\TIPCCard\TIPCCard_Both Pcc_tipccard.dll
i82365 socket driver Public\Common\OAK\Drivers\PCCard\I82365 Pcc_i82365.dll
Legacy PC Card driver that allows PCMCIA clients to work with a bus agnostic driver Public\Common\OAK\Drivers\PCCard\PCMCIA Pcc_pcm.dll
PC Card socket driver for the Samsung SMDK2410 BSP Platform\SMDK2410\SRC\Drivers\PCCard Pcc_smdk2410.dll
AMD Au1 PCMCIA PC Card host controller driver for the AMD DBAu1000, DBAu1100, and DBAu1500 Development Boards Platform\DBAU1000\SRC\Drivers\PCCard Pcc_au1.dll

Power Management

Driver Sources file location Binary
Power Manager PDD Public\Common\OAK\Drivers\PM\PDD\Common

Public\Common\OAK\Drivers\PM\PDD\Default

Public\Common\OAK\Drivers\PM\PDD\PDA

Pm_pdd_common.dll

Pm_default_pdd.dll

Pm_pda_pdd.dll

Secure Digital Card Drivers

Driver Sources file location Binary
SDIO standard host controller driver based on version 1.0 of the SDA Standard Host Register Specification Not applicable. SDHC.dll
SD bus driver that exposes an API for developing SD Memory Card and other SDIO client drivers Not applicable. SDBus.dll
Samsung 2410 SDIO host controller driver for the SMDK2410 Samsung MCU Development Kit Not applicable. Sdhc_sc2410.dll
PXA27x SD host controller driver for the Intel PXA27x Development Platform Not applicable. Sdhc_mainstoneii.dll

Serial Port Drivers

Driver Sources file location Binary
Com16550 serial port driver for 16550 UARTs Public\Common\OAK\Drivers\Serial\COM16550

Public\Common\OAK\Drivers\Serial\SER16550

Com16550.dll

Ser16550.lib

AMD Au1 UART driver for the AMD DBAu1000, DBAu1100, and DBAu1500 Development Boards Public\Common\OAK\CSP\MIPS\AMD\AU1\Serial Au1uart.dll
S3C2410x serial port driver for the SMDK2410 Samsung MCU Development Kit Public\Common\OAK\CSP\ARM\Samsung\S3C2410X\Serial S3c2410x_serial.dll
USB function serial client driver Public\Common\OAK\Drivers\USBFN\Class\Serial Serialusbfn.dll

USB Function Drivers

Driver Sources file location Binary
Netchip NET2280 USB 2.0 function bus driver Public\Common\OAK\Drivers\USBFN\Controller\NET2280 Net2280.dll
PXA27x USB function driver for the Intel PXA27x Development Platform Public\Common\OAK\CSP\ARM\INTEL\PXA27X\USBFN Pxa27x_usbfn.dll
USB function CSP driver for the Intel PXA25x Development Platform Public\Common\OAK\CSP\ARM\Intel\PXA25X\USB\Function\PDD Pxa25xusbfn.dll
Samsung 2410 USB function bus driver for the SMDK2410 Samsung MCU Development Kit Public\Common\OAK\CSP\ARM\Samsung\S3C2410X\USB\Function Sc2410usbfn.dll

USB Host Drivers

Driver Sources file location Binary
EHCI USB 2.0 host controller driver Public\Common\OAK\Drivers\USB\HCD\USB20\EHCIPDD Ehci.dll
USB driver interface Public\Common\OAK\Drivers\USB\USBD Usbd.dll
Legacy OHCI USB host controller driver Public\Common\OAK\Drivers\USB\HCD\OHC Ohci.dll
OHCI USB host controller driver Public\Common\OAK\Drivers\USB\HCD\OHCD2 Ohci2.dll
UHCI USB host controller driver Public\Common\OAK\Drivers\USB\HCD\UHC Uhci.dll
OHCI USB host controller driver for the Intel PXA27x Development Platform Public\Common\OAK\CSP\ARM\INTEL\PXA27X\HCD Pxa27x_ohci.dll
USB host controller driver for the AMD DBAu1000, DBAu1100, and DBAu1500 Development Boards Public\Common\OAK\CSP\MIPS\AMD\AU1\USB Au1ohcd.dll
USB Human Input Device (HID) class driver Public\Common\OAK\Drivers\USB\Class\HID\HIDClass\USBPDD Usbhid.dll

See Also

Device Driver Libraries | Device Driver Source Code | Production-Quality OAL | Sources File | Windows CE Drivers

Send Feedback on this topic to the authors

Feedback FAQs

© 2006 Microsoft Corporation. All rights reserved.