Login

Important information

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

ARM websites use two types of cookie: (1) those that enable the site to function and perform as required; and (2) analytical cookies which anonymously track visitors only while using the site. If you are not happy with this use of these cookies please review our Privacy Policy to learn how they can be disabled. By disabling cookies some features of the site will not work.

USB Host Interface

The USB Host library is an embedded USB stack supporting USB MSC (Mass Storage Class) and HID (Human Interface Device) classes. It has been designed to be high-performance while using as little memory as possible. The library includes examples which demonstrate using USB mass storage devices together with a Flash File System, and using an external HID input devices.

USB host interface

Product Highlights

  • Abstraction layer allows a standard API to be used for different USB Host controllers
  • USB Host controller support
    • Generic Open Host Controller Interface (OHCI)
    • Low level driver support for NXP LPC17xx/23xx/24xx devices
    • Custom Host controller driver for STM32F105/7 (connectivity line) devices
    • USB 1.1 Low Speed (1.5Mbit/s) and Full Speed (12Mbit/s)
  • Common USB Device Class support
    • Human Interface Devices (HID)
    • Mass Storage Class (MSC)
  • High-speed (670KB/sec) and small code-size (~6KB)
  • Integrated with other MDK-Professional components
    • MSC works with Flash File System to support USB Flash drive and SD/SDHC/MMC card storage devices
    • USB Host works with the RTX Real-Time Operating System

Note:

  • The USB Host Interface is provided in binary form as part of MDK-Professional. It is not included with other MDK-ARM Editions.
 
 


Features
USB Standards
USB 1.1 supportyes
Low-speed support (1.5 Mbits/s)yes
Full-speed support (12 Mbits/s)yes
USB Host Controller Standards
Open Host Controller Interface (OHCI)yes
STM32 Host Controlleryes
USB Endpoints
Controlyes
Interruptyes
Bulkyes
Device Classes
Human Interface Device (HID)yes
Mass Storage (MSD)yes

Performance
DeviceRead (KB/s)Write (KB/s)
LPC1700643.398554.181
LPC2300658.706568.161
LPC2400658.708568.162
STM32713.608679.563

Note

  • Thes performance figures were achevied using a Mass Storage example.

Memory Requirements
USB Host ComponentCode Size (KBytes)RAM Size (KBytes)
USB Host Core3.320.12
Mass Storage Class Support3.850.03
HID Class Support1.870.07
LPC17xx HW Driver3.361.00
STM32F10x HW Driver2.520.66

Note

  • All example figures are based on Cortex-M3
  • All values are minimum requirements with minimum data buffers and no application code

Maximise