Skip navigation

emUSB-Host—Mass Storage Device

  • Command block specification and protocol implementation used by the connected device will be automatically detected
  • It is independent of the file system. An interface to emFile is provided
  • Small footprint

emUSB-Host MSD

The Mass Storage Device (MSD) is a USB class protocol defined by the USB Implementers Forum. The class itself is used to get access to one storage medium or multiple storage mediums. Using this class, emUSB-Host provides access to external storage media such as USB-sticks and external hard disk drives.


Structure of MSD Component

A mass storage device connected to the emUSB-Host is added to the file system as a volume. All operations on the device, such as formatting, reading / writing of files and directories are performed through the API of the file system. With emFile, the device name of the first MSD is "msd:0:".


To use the MSD class driver to perform file and directory operations, a file system (typically emFile) is required.

Example Code Included

Example code which is provided with any shipment or eval software including emUSB-Host. The example shows the capacities of the connected device (such as the volume size, number of sectors, etc.) and shows files in the root directory and creates and writes to a file.

Resource Usage by this Component

ROM usage RAM usage
App. 8 KByte + (size of file system) + (emUSB-Host core incl. driver)   App. 1.5 KByte + < 0.5 KByte per each device + (emUSB-Host core incl. driver)