Motorola USB08 User Manual

Page 141

Advertising
background image

Universal USB Device Driver (USBIO)

Architecture

USB08 Evaluation Board

Designer Reference Manual

MOTOROLA

Universal USB Device Driver (USBIO)

141

Interface ID is used by the USBIO demo application for device
enumeration. This way, it is always possible to access devices
connected to the USBIO from the demo application.

In addition, an user-defined Device Interface ID is supported by USBIO.
This user-defined GUID is specified in the USBIO INF file by the

USBIO_UserInterfaceGuid

variable. If the user-defined interface ID

is present at device initialization time USBIO registers the device with
this ID. Thus, two interfaces — default and user-defined — are
registered for each device. The default Device Interface ID should only
be used by the USBIO demo application. Custom applications should
always use a private user-defined Device Interface ID. This way, device
naming conflicts are avoided.

IMPORTANT:

Every USBIO customer should generate its own private device interface
GUID. This is done by using the tool GUIDGEN.EXE from the Microsoft
Platform SDK or the VC++ package. This private GUID is specified as
user-defined interface in

USBIO_UserInterfaceGuid

in the USBIO

INF file. The private GUID is also used by the customer’s application for
device enumeration. For that reason the generated GUID must also be
included in the application. The macro

DEFINE_GUID()

can be used for

that purpose. See the Microsoft Platform SDK documentation for further
information.

As stated above, all devices connected to USBIO will be associated with
the same device interface ID that is also used for device object
enumeration. Because of that, the enumeration process will return a list
of all USBIO device objects. In order to differentiate the devices an
application should query the device descriptor or string descriptors. This
way, each device instance can be identified unambiguously.

After the application has received one or more handles for the device,
operations can be performed on the device by using a handle. If there is
more than one handle to the same device, it makes no difference which
handle is used to perform a certain operation. All handles that are
associated with the same device behave the same way.

NOTE:

Former versions of USBIO (up to V1.16) used a different device naming
scheme. The device name was generated by appending an instance
number to a common prefix. So the device names were static. In order

Advertising