6.2 USB Descriptors

This section is oriented to USB developers who want to create a new UDI or a composite USB device.

The USB classes that are already provided by ASF include default USB Device descriptors. These descriptors are defined in the UDI files udi_foo_desc.c and udi_foo_conf.h, and allow an easy implementation described in all UDI application notes.

The descriptor file declares the global variable app_udc_config that includes:

  • A device descriptor for each speed possible (usb_dev_desc_t)
  • One device qualifier in case of High Speed device (usb_dev_qual_desc_t)
  • A configuration descriptor for each configuration (usb_conf_desc_x_t)
  • A link between UDI and configuration descriptor (udc_iface_fcnt_t)
Figure 6-1. USB Descriptors