Driver Updater

In Windows CE .NET, the driver updater determines which drivers need to be added to a platform, based on the drivers supported by the current operating system (OS) configuration and on the drivers supported by the current board support package (BSP). It does this by checking the following conditions for each driver type in the Catalog:

  • Whether the current configuration supports this driver. This is true if the OS contains the necessary Windows CE modules, which are added and removed from the configuration by means of the Catalog's CoreOS features subtree.
  • Whether the current BSP supports this driver. This is true if the relevant BSP_NO variable is not set.

If both the configuration and the BSP support the driver, the driver updater adds a driver of that type to the workspace. For example, if the CE_MODULES environment variable contains "device" and "display" and the current OS configuration supports a display driver, the driver updater adds a display driver to the current platform. However, if the CE_MODULES environment variable does not contain both "device" and "display" or if BSP_NODISPLAY is set to 1, the driver updater does not add a display driver.

To select the specific drivers, the driver updater uses the following criteria:

  • The driver updater selects the associated driver for any BSP variable that is set in the command-line environment. For example, the Cepc.bat file sets the BSP_DISPLAY_FLAT variable to 1. Therefore, when the driver updater adds a display driver to a CEPC, it selects the VGA Linear (Flat) Framebuffer display driver.
  • If there is DefaultDrivers field in the Catalog, the driver updater selects that implementation. For example, the DefaultDrivers field for the CEPC BSP contains the GUID for the NE2000-compatible network card. Therefore, the driver updater automatically selects that card when adding a network card driver to a CEPC. Typically, the BSP CEC file's DefaultDrivers list matches any default settings in the platform batch file.
  • If no BSP variables are set and there is no DefaultDrivers field for the BSP, but there is a valid driver implementation, the driver updater selects that driver.

If none of the above criteria are met, the driver updater adds an unresolved feature group to the platform. When you try to build the platform, you are prompted to use the Resolve Features dialog box to choose a driver. For more information, see Resolve Features Dialog Box.

Overriding the driver updater

You can override the default choices that are made by the driver updater. To do this, delete the default driver from your platform and add the driver of your choice by dragging it from the IDE Catalog. The driver updater makes the necessary adjustments to the BSP environment variables so that the correct display driver is added to the OS image.

If you choose not to have any driver for a particular device type, delete the default driver and the driver updater sets the BSP_NODISPLAY environment variable.

Adding an unsupported driver

There are two ways to add a driver that is not supported by your current OS configuration:

  • Add the OS features from the Catalog's CoreOS features subtree that are required to support this driver type, for example, USB support. The driver updater then adds the default driver of this type.
  • Add the specific driver that you want to use. The driver is listed as part of the platform, but is excluded from the build because the current OS configuration does not support this driver. Bring in the OS features that are required to support this driver. Then, use the Platform Settings dialog box to remove the ExcludeFromBuild flag for the driver. For more information, see Platform Settings Dialog Box.

See Also

Device Driver and BSP Updater

Last updated on Wednesday, April 13, 2005

© 2005 Microsoft Corporation. All rights reserved.