USB devices report their attributes using descriptors. A
descriptor is a data structure with a defined format. Each descriptor
begins with a byte-wide field containing the total number of bytes in
the descriptor followed by a byte-wide field identifying the
descriptor type.
This is not a complete list of all the possible descriptors a USB
host can request. However, as a minimum, the USB device must provide
the device descriptor, configuration descriptor, interface
descriptor, and three endpoint descriptors.
Device Configuration
explains the device configuration options and the structure of the
descriptors.
Device Descriptor
describes the basic information that identifies a device.
Configuration
Descriptor describes the power requirements and the number of
interfaces a device can contain.
Interface
Descriptor describes the collection of endpoints and the
interfaces a device can have.
Device Qualifier
Descriptor describes the alternative information needed when
the device operates in different speed modes.
The USB Host sends setup requests as soon as the device has joined
the USB network. The device will be instructed to select a
configuration and an interface to match the needs of the application
running on the USB Host. Once a configuration and an interface have
been selected, the device must service the active endpoints to
exchange data with the USB Host.
Arm’s Privacy Policy has been updated. By continuing to use our site, you consent to Arm’s Privacy Policy. Please review our Privacy Policy to learn more about our collection, use and transfers of your data.