Partager via


Porting a USB Function Controller Driver (Windows Embedded CE 6.0)

1/6/2010

To port a USB function controller driver, select a driver for a USB function controller that is most similar to your function controller. The USB function controller drivers utilize the bus agnostic driver framework to retrieve information from the registry. For more information, see Bus Agnostic Drivers.

Porting the Net2280 USB Function Controller Driver PDD

The Net2280 USB function controller driver is in %_WINCEROOT%\Public\Common\OAK\Drivers\USBFN. Its registry keys are in %_WINCEROOT%\Public\Common\OAK\Files\Common.reg, under the HKEY_LOCAL_MACHINE\Drivers\BuiltIn\PCI\Template\NET2280 registry key.

This is the most fully featured USB function controller driver, and it is hardware platform independent. This driver takes advantage of the bus agnostic driver framework, and by default, runs on the PCI bus. The driver uses the bus agnostic driver framework to retrieve resource information from the registry. The driver retrieves this registry information through the PCI bus driver. Because this driver takes advantage of the bus agnostic driver framework, porting may be simpler because the driver does not contain any code that is specific to a hardware platform or system bus. Investigate porting this driver to your USB function controller. For information about the bus agnostic driver framework, see Bus Agnostic Drivers. Porting this driver to your USB function controller is similar to porting any other PCI device driver. For information about PCI bus drivers, see PCI Bus Driver and PCI Bus Driver Registry Settings.

Porting the PXA27X USB Function Controller Driver PDD

For Windows Embedded CE 6.0, the PXA27X USB function controller driver is in %_WINCEROOT%\Platform\Common\Src\SOC\PXA27X_MS_v1\USBFN.

The driver is implemented as a base class. To port this driver to a specific hardware platform, inherit data and functions from the base class and use the inherited data and functions to implement functionality that is specific to your hardware platform. The Intel PXA27x Processor Development Kit (MainstoneIII) inherits from the PXA27X USB function controller driver and then implements any hardware platform specific functionality. The Intel PXA27x Processor Development Kit (MainstoneIII) USB function controller driver is in %_WINCEROOT%\Platform\Mainstoneiii\Src\Drivers\USBFN. Any hardware platform can inherit from the PXA27X USB function controller driver base class.

This driver uses the bus agnostic driver framework to retrieve information from the registry. For an example of hardware platform specific registry keys, see %_WINCEROOT%\Platform\Mainstoneiii\Files\Platform.reg. For more information, see Bus Agnostic Drivers.

Porting the S3C2410 USB Function Controller Driver PDD

For CE 6.0, the S3C2410 USB function controller driver PDD is in %_WINCEROOT%\Platform\Deviceemulator\Src\Drivers\USB\Function.

The registry settings are stored under the HKEY_LOCAL_MACHINE\Drivers\BuiltIn\SC2410USBFN registry key. This USB function controller has very little hardware platform specific functionality. The registry stores the hardware platform specific information.

See Also

Concepts

Optimizing a USB Function Driver Stack
PCI Bus Driver Registry Settings

Other Resources

USB Function Controller Driver Migration
USB Function Client Drivers
PCI Bus Driver