Home | FAQ | Contact

Private Seminars
Public Seminars
Course Descriptions
Course Map
Instructors
Resources

INT150
INT151
INT201
INT211
INT221
INT250
INT255
DRV101
DRV150
DRV201
DRV205
DRV211
DRV221
DRV222
DRV231
DRV232
DRV241
DRV251
DRV264
DRV274
DRV301
DRV321
OFF101
OFF201
SEC230
SEC250
WSC102
WSC110
WSC201

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 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 © 2007 - Azius Developer Training