Motorola USB08 User Manual

Page 139

Advertising
background image

Universal USB Device Driver (USBIO)

Architecture

USB08 Evaluation Board

Designer Reference Manual

MOTOROLA

Universal USB Device Driver (USBIO)

139

USBD.SYS is the USB Bus Driver that controls and manages all
devices connected to the USB. It is provided by Microsoft as part
of the operating system.

USBHUB.SYS is the USB Hub Driver. It is responsible for
managing and controlling USB Hubs.

USBIO.SYS is the generic USB device driver USBIO.

The software interface that is provided by the operating system for use
by USB device drivers is called USB Driver Interface (USBDI). It is
exported by the USBD at the top of the driver stack. USBDI is an
IRP-based interface. This means that each individual request is
packaged into an I/O request packet (IRP), a data structure that is
defined by WDM. The I/O request packets are passed to the next driver
in the stack for processing and returned to the caller after completion.

The USB Driver Interface is accessible for kernel mode drivers only.
Normally, there is no way to use this interface directly from applications
that run in user mode. The USBIO device driver was designed to
overcome this limitation. It connects to the USBDI at its lower edge and
provides a private interface at its upper edge that can be used by Win32
applications. Thus, the USB driver stack becomes accessible to
applications. A Win32 application is able to communicate with one or
more USB devices by using the programming interface exported by the
USBIO device driver. Furthermore, the USBIO programming interface
may be used by more than one application or by multiple instances of
one application at the same time.

The main design goal for the USBIO device driver was to make available
to applications all the features that the USB driver stack provides at the
USBDI level. For that reason the programming interface of the USBIO
device driver (USBIOI) is closely related to the USBDI. But many of the
functions cannot be translated in an one-to-one relationship.

Advertising