USB Function Controller Driver Development Concepts (Windows CE 5.0)
Beginning with Microsoft® Windows® CE 5.0, universal serial bus (USB) function controller drivers are no longer monolithic. A monolithic driver combines all platform dependent drivers (PDDs) and model device drivers (MDDs) into one driver.
USB function controller drivers are layered drivers. They contain an MDD and a PDD. This eases portability across hardware platforms. The client drivers are abstracted as separate clients that are loaded by the USB function driver. For more information about MDDs, PDDs, and monolithic drivers, see Layered Drivers vs. Monolithic Drivers.
Developing a USB Function Controller Driver PDD vs. Porting an Existing PDD
You can develop a USB function controller from scratch using the PDDs provided by Microsoft as examples. If you are developing a fully featured USB function controller driver, use the Net2280 driver as an example. The Net2280 driver is in %_WINCEROOT%\Public\Common\OAK\Drivers\USBFN\Controller\Net2280. If you are developing a USB function controller driver that uses classes, use the PXA27X driver as an example. The PXA27X driver is in %_WINCEROOT%\Public\Common\OAK\CSP\ARM\Intel\PXA27X\USBFN. To develop a USB function controller driver PDD, implement a stream interface. For more information, see Stream Interface Drivers.
Rather than developing a USB function controller driver from scratch, it may be easier to port an existing USB function controller driver. For more information, see USB Function Controller Driver Migration.
See Also
USB Function Controller Driver Architecture | USB Function Controller Driver Transfers | USB Function Controller Driver Samples
Send Feedback on this topic to the authors