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

Mass Storage Device (MSC) Options

Mass Storage Device (MSC) Options explains the configuration options for an mass storage device. The options can be edited in the file usb_config.c directly or using the µVision Configuration Wizard.

RL-USB MSC Configuration

Where
  • Mass Storage Device (MSC) - enables class support for mass storage devices. This option corresponds to #define USBD_MSC_ENABLE.
    #define USBD_MSC_ENABLE                1                     // 1=enabled; 0=disabled
    
Bulk Endpoint Settings
configure the endpoint characteristics and affect the Endpoint Descriptors.
  • Bulk In Endpoint Number sets the endpoint number. Values between 1..15 are allowed. This option corresponds to #define USBD_MSC_EP_BULKIN.
    #define USBD_MSC_EP_BULKIN           2                    // value range 1..15
    
  • Bulk Out Endpoint Number sets the endpoint number. Values between 1..15 are allowed. This option corresponds to #define USBD_MSC_EP_BULKOUT.
    #define USBD_MSC_EP_BULKOUT          2                    // value range 1..15
    
  • Maximum Packet Size sets the maximal packet size, in bytes. Values between 1..1024 are allowed. This option corresponds to #define USBD_MSC_WMAXPACKETSIZE.
    #define USBD_MSC_WMAXPACKETSIZE      64                    // value range 1..1024
    
  • High-speed enables the characteristics when using high speed transfer rates. Enable the High Speed option under USB Device. This option corresponds to #define USBD_MSC_HS_ENABLE.
    #define USBD_MSC_HS_ENABLE           1                    // 1=enabled; 0=disabled
    
  • Maximum Packet Size sets the maximal packet size for high speed transfers. Values between 1..1024 are allowed. This option corresponds to #define USBD_MSC_HS_WMAXPACKETSIZE.
    #define USBD_MSC_HS_WMAXPACKETSIZE   512                  // value range 1..1024
    
  • Maximum NAK Rate sets the maximum not acknowledge packets for high speed transfers. Values between 0..255 are allowed. This option also corresponds to #define USBD_MSC_HS_BINTERVAL.
    #define USBD_MSC_HS_BINTERVAL        0                    // value range 0..255
    
Mass Storage Device Settings
configure device specific options.
  • MSC Interface String sets the mass storage interface string identifier. 126 characters are allowed. This option corresponds to #define USBD_MSC_STRDESC.
    #define USBD_MSC_STRDESC             L"USB_MSC"           // up to 126 characters
    
  • Vendor Identification sets the vendor string identifier. 8 characters are allowed. This option corresponds to #define USBD_MSC_INQUIRY_DATA.
    #define USBD_MSC_INQUIRY_DATA        L"KEIL    "          // see next option; 8 characters
    
  • Product Identification sets the product string identifier. 16 characters are allowed. This option corresponds to #define USBD_MSC_INQUIRY_DATA.
    #define USBD_MSC_INQUIRY_DATA        L"LPC23xx Disk    "  // see next+prev. option; 16 characters
    
  • Product Revision Level sets the product revision string identifier. 4 characters are allowed. This option corresponds to #define USBD_MSC_INQUIRY_DATA.
    #define USBD_MSC_INQUIRY_DATA        L"1.0 "              // see prev. option; 4 characters
    

Note

  • The USB Device Controller hardware might impose restrictions on the use of endpoints.
  • Refer to Create MSC Applications for a quick-start on programming a USB MSC Device.
  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.