Keil Logo

Technical Support

On-Line Manuals

RL-ARM User's Guide (MDK v4)

RL-RTX RL-FlashFS RL-TCPnet RL-CAN RL-USB RL-USB for USB Device Applications RL-USB Device Library RL-USB Device Features RL-USB Device Software Stack RL-USB Device Functions RL-USB Device Source Files RL-USB Device Configuration Audio Device (ADC) Options Communication Device (CDC) - ACM Options Human Interface Device (HID) Options Mass Storage Device (MSC) Options Create USB Device Applications Create ADC Applications Create CDC ACM Applications Create HID Applications Create MSC Applications Create Composite Applications Test USB Device Applications Compliance Tests Test HID Client Application RL-USB for USB Host Applications RL-USB Host Library RL-USB Host Features RL-USB Host Software Stack RL-USB Host Functions RL-USB Host Source Files RL-USB Host Configuration Host Controller Driver Selection Host Controller Driver Configuration Host Class Driver Selection Create USB Host Applications Create USB Host HID Applications HID_Kbd Example Create USB Host MSC Applications Create USB Host Class Driver RL-USB Host Constants and Structures Error constants Speed constants Transaction Packet Type constants Transaction Error Type constants USB Request Block structure (USBH_URB) Endpoint structure (USBH_EP) Driver Capabilites structure (USBH_HCI_CAP) Device Class Instance structure (USBH_DCI) Host Controller Instance structure (USBH_HCI) Host Controller Driver structure (USBH_HCD) USB Concepts USB Transfer Rates USB Network Basic Communication Model USB Protocol Control Transfer Interrupt Transfer Isochronous Transfer Bulk Transfer Descriptors Device Configuration Device Descriptor Configuration Descriptor Interface Descriptor Endpoint Descriptor Device Qualifier Descriptor Example Programs Library Reference Appendix

Host Class Driver Selection

This section explains the configuration options for the USB Host Class Driver layer. The options are set in the file usb_config.c.

The Class Configuration options enable the host to interact with the following device types:

RL-USB Host Class Configuration

Mass Storage Device Class (MSC)

Mass Storage Device Class (MSC) activates the host support for accessing mass storage devices. This option corresponds to the first bit of #define USBH_CLASS.

#define USBH_CLASS                      0x0001                         // MSC enabled
  • Number of concurrent MSC Devices on a single USB Host controller specifies maximum number of instances of mass storage device class per USB Host controller. This option corresponds to the value of #define USBH_MSC_NUM.

    #define USBH_MSC_NUM               1
    

Human Interface Device Class (HID)

Human Interface Device Class (HID) activates the host support for accessing HID devices. This option corresponds to the second bit of #define USBH_CLASS.

#define USBH_CLASS                      0x0002                         // HID enabled
  • Number of concurrent HID Devices on a single USB Host controller specifies maximum number of instances of human interface device class per USB Host controller. This option corresponds to the value of #define USBH_HID_NUM.

    #define USBH_HID_NUM               1
    

USB Device Class (custom, vendor or additional class)

USB Device Class activates the host support for custom, vendor or additional class devices. It allows adding support for classes other than MSC or HID. This option corresponds to the third bit of #define USBH_CLASS.

#define USBH_CLASS                      0x0004                         // USB device enabled
  • Number of concurrent Custom Class Devices on a single USB Host controller specifies maximum number of instances of custom device class per USB Host controller. This option corresponds to the value of #define USBH_CLS_NUM.

    #define USBH_CLS_NUM               1
    
  Arm logo
Important information

This site uses cookies to store information on your computer. By continuing to use our site, you consent to our cookies.

Change Settings

Privacy Policy Update

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.