Home | FAQ | Contact

Private Seminars
Public Seminars
Course Descriptions
Course Map
Instructors
Resources

APP210
CMB221
DBG211
DBG214
DBG311
DRV101
DRV150
DRV201
DRV203
DRV204
DRV205
DRV211
DRV221
DRV222
DRV231
DRV232
DRV251
DRV264
DRV274
DRV280
DRV301
DRV350
INT150
INT201
INT250
SEC230
SEC240
WSC150
WSC250

DRV232: Windows Drivers for USB Devices

This seminar covers the specifics of functional drivers for devices on the USB bus.

Level

Intermediate

Audience

Developers who write or maintain drivers for devices attached to the USB bus; firmware developers for USB devices; and hardware engineers responsible for USB devices.

Description

This course begins with the theory of operation of the Universal Serial Bus. Drivers for devices attached to the USB are termed function drivers, because they control a USB functional device. USB is a protocol-based bus, and a Windows component called a bus driver – specifically, the USB host controller driver – is responsible for arbitrating access to the bus, as well as sending and receiving packets; the function driver does not communicate with hardware directly, but instead asks the bus driver to do so on its behalf. This involves messaging mechanisms that will be new to most driver writers. This seminar focuses on those mechanisms.

This seminar is intended as a follow-on to DRV201, Core WDM Device Drivers. This seminar does not cover the details of WDM driver architecture, plug-and-play, power management, etc., addressed in DRV201. Although DRV201 does use a USB device as an example, it does not address all of the details of the USB interfaces presented here.

Topics

  • Universal Serial Bus design and concepts

  • USB device endpoints and transfer types

  • Bus drivers

  • Communicating with the bus driver

  • Send and receiving requests from the bus driver

Prerequisites

DRV201, Core WDM Device Drivers, or equivalent knowledge and experience writing WDM device drivers.

Windows versions

Windows 7, Server 2008, Windows Vista, Windows Server 2003, Windows XP, Windows 2000

Duration and formats

2 days with labs
1 day lecture only

Labs

We strongly recommend the hands-on labs version of this seminar, as this allows the student to immediately apply and thereby reinforce what has been learned. The lab assignments are broken into a series of exercises interspersed with the lecture. Each lab exercise starts with a complete solution to the previous exercise. At the conclusion of the seminar, each student will of course receive fully commented source code for the solutions to all of the lab exercises.

 

Copyright © 2010 by Azius Developer Training