Device Drivers
A board support package (BSP) indicates that it does not support a particular hardware feature by using the following BSP_NO* variables:
- BSP_NOAUDIO
- BSP_NODISPLAY
- BSP_NOKEYBD
- BSP_NOETHER
- BSP_NOPARALLEL
- BSP_NOSERIAL
- BSP_NOPCMCIA
- BSP_NOSIR
- BSP_NOUSB
- BSP_NOUSBSER
In the Platform Builder Catalog, component types are typically excluded from a project when a variable, such as BSP_NO*, is set. For example, the audio component is excluded from a project when BSP_NOAUDIO=1. An initial project integrated development environment (IDE), will not include an audio driver because the platform does not support audio. If later you select from the Catalog a driver, like Ensoniq ES1371, from this component type you override the BSP_NOAUDIO variable.
When you select from the Catalog device drivers that do not automatically have a Sysgen variable set, you must select a feature that automatically sets the Sysgen variable from the Core OS category to activate those device drivers. For example, if you selected the Ensoniq ES1371 driver, you also need to select the Waveform Audio feature in the Catalog under Core OS, Display based devices (or Headless devices), Multimedia Technologies, Multimedia Components, and then Audio to set SYSGEN_AUDIO.
The following table shows the Sysgen variables that correspond to Core OS features that you need to select in the Catalog to activate certain device drivers.
Sysgen variable | Core OS feature | Feature location in Catalog |
---|---|---|
SYSGEN_AUDIO | Waveform Audio | Display based devices or Headless devices, Multimedia Technologies, Multimedia Components, Audio |
SYSGEN_DISPLAY | Display Support | Headless devices, Core OS Services
Note This feature is automatically selected for display-based devices. |
SYSGEN_MINGDI | Minimal GDI Configuration | Display based devices or Headless devices, Shell and User Interface, Graphics, Windowing and Events |
SYSGEN_MININPUT | Minimal Input Configuration | Display based devices or Headless devices, Shell and User Interface, Graphics, Windowing and Events |
SYSGEN_ETHERNET | Wired Local Area Network (802.3, 802.5) | Display based devices or Headless devices, Communication Services and Networking, Networking - Local Area Network (LAN) |
SYSGEN_IRDA | IrDA | Display based devices or Headless devices, Communication Services and Networking, Networking - Personal Area Network (PAN) |
SYSGEN_PARALLEL | Parallel Port Support | Display based devices or Headless devices, Core OS Services |
SYSGEN_DEVICE | Device Manager | Headless devices, Core OS Services |
SYSGEN_USB | USB Host Support | Display based devices or Headless devices, Core OS Services |
The following table shows the device drivers that appear in the Platform Builder Catalog. The BSP variable column indicates the BSP_NO* variable, which acts as an exclude when set as a variable, as well as the variable that the IDE overrides, should you manually select the component from the Catalog. These components also indicate the Sysgen variable that you need to set to activate your device driver.
Device driver | BSP variable | Sysgen variable | Description |
---|---|---|---|
Ensoniq ES1371 | BSP_NOAUDIO=""
BSP_WAVEDEV_ES1371=1 |
Set SYSGEN_AUDIO | The Ensoniq driver using the model device driver (MDD)/platform-dependent driver (PDD) model. |
Ensoniq ES1371 (Unified) | BSP_NOAUDIO=""
BSP_WAVEDEV_ENSONIQ=1 |
Set SYSGEN_AUDIO | The Ensoniq driver using Unified Audio Model (UAM). |
Geode/MediaGX Audio (Unified) | BSP_NOAUDIO=""
BSP_WAVEDEV_GXUAMAUD=1 |
Set SYSGEN_AUDIO | The audio driver for the National/GeodeGX microprocessor-native chip using UAM. |
Geode/MediaGX Waveform Audio Device | BSP_NOAUDIO="" | Set SYSGEN_AUDIO | The audio driver for the National Geode/MediaGX microprocessor-native chip. |
TVIA 5000 Waveform Audio Device | BSP_NOAUDIO=""
BSP_WAVEDEV_TVIA5000=1 |
Set SYSGEN_AUDIO | The audio driver for the TVIA CyberPro 5050. |
ATI (Victoria Card) | BSP_NODISPLAY=""
BSP_DISPLAY_ATI=1 |
Set SYSGEN_DISPLAY
Set SYSGEN_MINGDI for HLBASE (IABASE default) |
The display driver for the ATI Victoria Card with Microsoft® DirectDraw® support and hardware acceleration. |
Geode/MediaGX | BSP_NODISPLAY=""
BSP_DISPLAY_MEDIAGX=1 |
Set SYSGEN_DISPLAY
Set SYSGEN_MINGDI for HLBASE (IABASE default) |
The display driver for the National Geode/MediaGX with DirectDraw support and no rotation support. |
Geode/MediaGX (Rotation Support) | BSP_NODISPLAY=""
BSP_DISPLAY_RMEDIAGX=1 |
Set SYSGEN_DISPLAY
Set SYSGEN_MINGDI for HLBASE (IABASE default) |
The display driver for the National Geode MediaGX display driver with rotation support and no DirectDraw support. |
MediaQ MQ200 | BSP_NODISPLAY=""
BSP_DISPLAY_MQ200=1 |
Set SYSGEN_DISPLAY
Set SYSGEN_MINGDI for HLBASE (IABASE default) |
The display driver for the MediaQ MQ200 with DirectDraw support. |
Multiple-Monitor Support | BSP_NODISPLAY="" | Set SYSGEN_DISPLAY
Set SYSGEN_MINGDI for HLBASE (IABASE default) |
This adds multiple-monitor support to your driver. |
NULL (Stub) | BSP_NODISPLAY=""
BSP_DISPLAY_NOP=1 |
Set SYSGEN_DISPLAY
Set SYSGEN_MINGDI for HLBASE (IABASE default) |
The display driver with stubbed functions. |
Permedia3 | BSP_DISPLAY_PERM3 | Set SYSGEN_DISPLAY
Set SYSGEN_MINGDI for HLBASE (IABASE default) |
The Permedia3 display driver for 3DLabs Oxygen VX1 video card with Microsoft Direct3D® support. |
TVIA 5000 | BSP_NODISPLAY=""
BSP_DISPLAY_TVIA5000 |
Set SYSGEN_DISPLAY
Set SYSGEN_MINGDI for HLBASE (IABASE default) |
The display driver for the TVIA CyberPro 5050 with DirectDraw support. |
VGA Linear (Flat) Framebuffer | BSP_NODISPLAY=""
BSP_DISPLAY_FLAT=1 |
Set SYSGEN_DISPLAY
Set SYSGEN_MINGDI for HLBASE (IABASE default) |
The generic display driver for any display card that is VESA BIOS 2.0-compliant. |
VGA Linear (Flat) Framebuffer (Rotation Support) | BSP_NODISPLAY=""
BSP_DISPLAY_RFLAT=1 |
Set SYSGEN_DISPLAY
Set SYSGEN_MINGDI for HLBASE (IABASE default) |
The generic display driver with rotation for any display card that is VESA BIOS 2.0-compliant. |
IEEE 1394 | None | SYSGEN_1394 | The core shared components of the IEEE 1394 stack required for developing IEEE 1394 drivers on the platform. |
Audio Video Control (AV/C) Protocol | None | SYSGEN_1394_AVC | The standard shared components for the IEEE 1394 stack AV/C protocols, required for supporting any audio/video interfaces on the platform. |
AV/C Streaming Filter Driver | None | SYSGEN_1394_AVC_STREAMING | An optional filter driver that is needed by the IEEE 1394 AV/C VCR subunit and any virtual subunit drivers. |
AV/C VCR Subunit Driver | None | SYSGEN_1394_AVC_VCR | The sample driver for supporting, or serving as a client to, an IEEE 1394 AV/C VCR or Tape Recorder subunit on the 1394 bus. |
AV/C VCR Virtual Subunit Driver | None | SYSGEN_1394_AVC_VCR_VIRTUAL | A sample virtual driver for exporting an IEEE 1394 VCR subunit, for example, to emulate that functionality on the IEEE 1394 bus. |
AV/C Virtual Subunit Core | None | SYSGEN_1394_AVC_VIRTUAL | The core shared components for supporting AV/C virtual subunit devices on the platform. For example, this core component is necessary if there are eight virtual subunits on the platform. |
Non-AV/C Web Camera Driver | None | SYSGEN_1394_DCAM | A sample driver for supporting, or serving as a client to, an IEEE 1394 digital Web camera subunit on the 1394 bus. |
Non-AV/C Web Camera Virtual Driver | None | SYSGEN_1394_DCAM_VIRTUAL | A sample virtual driver for exporting an IEEE 1394 digital Web camera subunit, for example, to emulate the videoconferencing camera functionality on the IEEE 1394 bus. |
Serial Bus Protocol 2 (SBP-2) | None | SYSGEN_1394_SBP2 | The core shared components of the IEEE 1394 stack for supporting any computer peripheral type of 1394 devices. |
SBP-2 Storage Driver | None | SYSGEN_1394_SBP2_SCSI | A sample driver for supporting any IEEE 1394 SCSI block devices, for example, storage devices. |
Test Tools - Diagnostics Driver | None | SYSGEN_1394_DIAG | The IEEE 1394 Diagnostics driver that can be used to test the IEEE 1394 bus on the platform. |
Test Tools - Diagnostics Virtual Driver | None | SYSGEN_1394_DIAG_VIRTUAL | The IEEE 1394 Diagnostics driver that tests the IEEE 1394 bus on the platform, but as a virtual 1394 bus-level device. |
Test Tools - Sample Application | None | SYSGEN_1394_TOOLS | The IEEE 1394 sample tools for testing the IEEE 1394 bus. |
8042 Keyboard/Mouse English | BSP_NOKEYBD="" | Set SYSGEN_MININPUT | The English keyboard and mouse driver. |
8042 Keyboard/Mouse Japanese1 (NEC layout) | BSP_NOKEYBD=""
BSP_KEYBD_JPN1=1 |
Set SYSGEN_MININPUT | The Japanese keyboard and mouse driver with the NEC layout. |
8042 Keyboard/Mouse Japanese2 (IBM layout) | BSP_NOKEYBD=""
BSP_KEYBD_JPN1="" |
Set SYSGEN_MININPUT | The Japanese keyboard and mouse driver with the IBM layout. |
8042 Keyboard/Mouse Korean | BSP_NOKEYBD="" | Set SYSGEN_MININPUT | The Korean keyboard and mouse driver. |
NOP (Stub) Keyboard/Mouse English | BSP_NOKEYBD=""
BSP_KEYBD_NOP=1 |
Set SYSGEN_MININPUT | The stubbed English keyboard and mouse driver. |
NOP (Stub) Keyboard/Mouse Japanese1 (NEC layout) | BSP_NOKEYBD=""
BSP_KEYBD_JPN1=1 BSP_KEYBD_NOP=1 |
Set SYSGEN_MININPUT | The stubbed Japanese keyboard and mouse driver with the NEC layout. |
NOP (Stub) Keyboard/Mouse Japanese2 (IBM layout) | BSP_NOKEYBD=""
BSP_KEYBD_JPN1="" BSP_KEYBD_NOP=1 |
Set SYSGEN_MININPUT | The stubbed Japanese keyboard and mouse driver with the IBM layout. |
NOP (Stub) Keyboard/Mouse Korean | BSP_NOKEYBD=""
BSP_KEYBD_NOP=1 |
Set SYSGEN_MININPUT | The stubbed Korean keyboard and mouse driver. |
Cisco 802.11b PC Card | None | SYSGEN_ETH_CISCO | A sample Network Driver Interface Specification (NDIS) miniport driver to support the Cisco 802.11b wireless PC Card network adapter. |
Intel DEC211x4 | BSP_NOETHER=""
BSP_NIC_DC211X4=1 |
Set SYSGEN_ETHERNET | The NDIS miniport driver for the Intel/DEC 2114x. |
National Semiconductor DP83815 (MacPhyter) | BSP_NOETHER=""
BSP_NIC_DP83815=1 |
Set SYSGEN_ETHERNET | The NDIS miniport driver for the National DP83815. |
NE2000 PC Card | None | None | A sample NDIS miniport driver to support any NE2000-based PC Card network adapter. |
NE2000-compatible | BSP_NOETHER=""
BSP_NIC_NE2000_PCI=1 IMGNOETHER="" |
Set SYSGEN_ETHERNET | The NDIS miniport driver for the generic PCI NE2000. |
NE2000-compatible (ISA card) | BSP_NOETHER=""
BSP_NIC_NE2000_ISA=1 IMGNOETHER="" |
Set SYSGEN_ETHERNET | The NDIS miniport driver for the generic ISA NE2000. |
RealTek RTL8139 | BSP_NOETHER
BSP_NIC_RTL8139 |
Set SYSGEN_ETHERNET | The NDIS miniport driver for the RealTek RTL8139. |
rNDIS-compatible Ethernet adapters | BSP_NOETHER=""
BSP_NORNDIS="" IMGNOETHER="" |
SYSGEN_ETH_USB_HOST | The sample USB class driver to support Remote NDIS compatible Ethernet adapters. |
SMS SMSC100FD | BSP_NOETHER=""
BSP_NIC_SMSC100=1 |
Set SYSGEN_ETHERNET | The NDIS miniport driver for the SMSC100. |
Turbo 16/4 Token-Ring PC Card 2 | None | SYSGEN_TOKEN | The PC Card driver for the Turbo 16/4 Token-Ring PC Card 2. |
USB Remote NDIS Class Driver | None | SYSGEN_ETH_USB_HOST | A sample USB class driver to support Remote NDIS compatible Ethernet adapters. |
Xircom CE2 PC Card | None | SYSGEN_ETH_XIRCOM | A sample NDIS miniport driver to support the Xircom CE2B PC Card network adapter. |
Bluetooth with Integrated UART-Only Driver | None | SYSGEN_BTH_UART_ONLY | A subset of Bluetooth with only universal asynchronous receiver-transmitter (UART) driver support. |
Bluetooth with Integrated USB-Only Driver | None | SYSGEN_BTH_USB_ONLY | A subset of Bluetooth with only USB driver support. |
Bluetooth with Universal Loadable Drivers | None | SYSGEN_BTH | A universal transport manager for Bluetooth. It is a layer that links to the HCI layer and manages Bluetooth devices connected to the host with different transports.
Bluetooth is a short-range wireless technology that makes data communication possible between devices and provides the capability for using a Bluetooth-enabled cellular phone as a data modem, exchanging information with other Bluetooth devices, and providing network access. For more information, see Bluetooth Overview and Bluetooth Transport Layer Driver Samples. |
Serial Infrared (SIR) | BSP_NOSIR="" | Set SYSGEN_IRDA | This adds the infrared support to your driver. |
Asyncmac NDIS Driver | None | SYSGEN_MODEM | The NDIS miniport driver to support dial-up networking on the platform. |
HD465 Parallel | BSP_NOPARALLEL="" | Set SYSGEN_PARALLEL | The parallel port driver. |
Parallel | BSP_NOPARALLEL=""
CEPC_PARALLEL=1 |
Set SYSGEN_PARALLEL | The parallel port driver. |
PCI Bus | BSP_NOPCIBUS="" | Set SYSGEN_DEVICE for HLBASE (IABASE default) | The bus driver for PCI devices and enumeration. |
PCMCIA (i82365-compatible) | BSP_NOPCMCIA=""
BSP_PCMCIA_I82365=1 |
Set SYSGEN_DEVICE for HLBASE (IABASE default) | The PC Card driver for Intel 82365-compatible host controllers. |
PCMCIA (TI1250) | BSP_NOPCMCIA=""
BSP_PCMCIA_Tl1250=1 |
Set SYSGEN_DEVICE for HLBASE (IABASE default) | The PC Card driver for TI 1250-compatible host controllers. |
Printer Devices | None | SYSGEN_PRINTING | The core components for enabling printing support on the platform. |
PCL Printer Driver | None | SYSGEN_PCL | A sample printer driver to support Printer Control Language (PCL)-compatible printers. |
Com16550 | BSP_NOSERIAL="" | Set SYSGEN_DEVICE for HLBASE (IABASE default) | The serial port driver for the 16550 UART (virtual COM1). |
Com16550 (Second Instance) | BSP_NOSERIAL=""
BSP_SERIAL2=1 |
Set SYSGEN_DEVICE for HLBASE (IABASE default) | The serial port driver for the 16550 UART (virtual COM2). |
Com16550 (Third Instance) | BSP_NOSERIAL=""
BSP_SERIAL3=1 |
None | The serial port driver for the 16550 UART (virtual COM3). |
Com_Card | BSP_NOSERIAL=""
BSP_NOCOMCARD="" BSP_NOPCMCIA="" |
Set SYSGEN_DEVICE for HLBASE (IABASE default) | The combined serial port driver for a native 16550 UART and a PC Card 16550 UART. |
Smart Card | None | SYSGEN_SMARTCARD | The core components for enabling Smart Card support on the platform. |
Bull Systems Smart TLP3 - Serial Smart Card Reader | None | SYSGEN_SMARTCARD_SERIAL | A sample USB driver to support Bull Systems Smart TLP3 Serial Smart Card Reader. |
SCM Microsystems SCR201 - PCMCIA Smart Card Reader | None | SYSGEN_SMARTCARD_PCMCIA | A sample USB driver to support SCM Microsystems SCR 120 PC Card Smart Card Reader. |
SCM Microsystems SCR300 - USB Smart Card Reader | None | SYSGEN_USB_SMARTCARD | A sample USB driver to support SCM Microsystems SCR300 USB Smart Card Readers on the platform. |
ATAPI PCI/IDE Storage Block Driver | None | SYSGEN_ATAPI | A sample Advanced Technology Attachment (ATA) packet interface driver. IDE driver to support all IDE devices like hard disks, CD/DVD drives, PC Card ATA disks, and so on. |
Compact Flash/PC Card Storage (ATADISK) | None | SYSGEN_ATADISK | A sample ATADISK driver to only support PC Card ATA devices. |
Secure Digital/Multimedia Card (SD/MMC) | None | SYSGEN_SDMMC | A sample driver that supports only Secure Digital or Multimedia storage cards. |
Netchip NET2890 USB Function (RNDIS Interface) | BSP_NOUSBSER=""
BSP_RNDISMINI_NET2890=1 |
Set SYSGEN_ETHERNET | The USB function driver for the Netchip NET2890. It exposes the RNDIS interface. |
Netchip NET2890 USB Function (Serial Interface) | BSP_NOUSBSER=""
IMG_NOUSBSER="" |
Set SYSGEN_SERDEV | The USB Function driver for the Netchip NET2890. It exposes the serial interface. |
HD465 OHCI | BSP_NOUSB=""
BSP_USB_OHCI=1 |
Set SYSGEN_USB | The built-in driver for Hitachi HD64465 USB open host controller interface (OHCI). |
OHCI | BSP_NOUSB=""
BSP_USB_OHCI=1 |
Set SYSGEN_USB | The generic OHCI host controller driver. |
UHCI | BSP_NOUSB=""
BSP_USB_UHCI=1 |
Set SYSGEN_USB | The generic UHCI host controller driver. |
Windows CE Test Kit | IMG_WCETK=1 | None | The Microsoft Windows® CE .NET 4.2 Test Kit (CETK) is a testing tool that incorporates command line tests into a graphical user interface (GUI). The tests are designed to assist you in testing your device drivers for the Windows CE OS. |
See Also
Driver Development | Board Support Packages | Catalog Features
Last updated on Wednesday, April 13, 2005
© 2005 Microsoft Corporation. All rights reserved.