Segger Logo Embedded Software Solutions
Software productsHardware productsDownloadsPricesCustomersOur PartnersSitemapForumAbout us
emUSB: MSD class
| General Info | Bulk component | MSD class | CDC class | HID class | Drivers |

Access the target device like an ordinary disk drive

emUSB-MSD enables the use of an embedded target device as a USB mass storage device. The target device can be simply pluged-in and used like an ordinary disk drive, without the need to develop a driver for the host operating system. This is possible because the mass storage class is one of the standard device classes, defined by the USB Implementers Forum. Virtually every major operating system on the market supports these device classes out of the box.

No custom host drivers necessary

Every major OS already provides host drivers for USB mass storage devices, there is no need to implement an own. The target device will be recognized as a mass storage device and can be accessed directly.

Plug and Play

Let's say the target system is a digital camera using emUSB-MSD. Videos or photos taken by this camera can be conveniently accessed with the file system explorer of the used operating system, if the camera is connect to the host.

Typical applications

  • Digital camera
  • USB stick
  • MP3 player
  • DVD player
  • Any target with USB interface: Easy access to configuration and data files

emUSB-MSD features

Key features of the emUSB-MSD are:

  • Can be used with RAM, parallel flash, serial flash or mechanical drives
  • Support for Full speed (12 MBit/s) and High speed (480 MBit/s) transfer rates
  • Easy to use
  • Easy to port
  • No custom USB host driver necessary
  • Highly portable, efficient, commented ANSI C source code
  • OS-Abstraction: Use with any RTOS, no OS required for MSD only devices
  • Hardware abstraction layer allows rapid addition of support for new devices

How does it work?

Use file system support from host OS

A device which uses emUSB-MSD will be recognized as a mass storage device and can be used like an ordinary disk drive. If the device is unformatted when plugged-in, the host operating system will offer to format the device. Any file system the host provides can be used. Typically FAT is used, but other file systems such as NTFS are possible too. If one of those file systems is used, the host is able to read from and write to the device using the storage functions of the emUSB MSD component, which define unstructured read and write operations. Thus there is no need to develop extra file system code if the application only accesses data on the target from the host side. This is typically the case for simple storage applications, such as USB memory sticks or ATA to USB bridges.

Only provide file system code on the target if necessary

Mass storage devices like USB sticks does not require an own file system implementation. File system program code is only required if the application running on target device has to access the stored data. The development of a file system is a complex and time-consuming task and enhances the time-to market. Thus we recommend the use of commercial file system like emFile, Segger's file system for embedded applications. emFile is a high performance library that has been optimized for minimum memory consumption in RAM and ROM, high speed and versatility. It is written in ANSI C and can be used on any CPU and on any media. Refer to www.segger.com/ emfile.html for more information about emFile.

Copyright SEGGER Microcontroller GmbH & Co.KG. All rights reserved.
For more information, please visit our web site www.segger.com or contact us at info@segger.com
Last update: December 7, 2007