Production-Quality Drivers (Windows CE 5.0)
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