Skip to main content
  • Products
  • Evaluate our Software
  • Downloads
  • Free Utilities
  • Purchase
  • Silicon Vendors
  • Support
  • About Us
  • Blog
  • Forum
  • Search
  • Jobs
  • Newsletter
  • Blog
  • Contact
  • Shop
  • emUSB-Device
  • MSD Class
  • Technology
  • Add-Ons

MSD Class

Contact us
Downloads
Documentation
SEGGER emUSB-Device
  1. 2.Application Samples emUSB-Device MSD
  2. 3.Components
  3. 4.Only Provide File System Code on the Target if Necessary
  4. 5.Use File System Support From Host OS
  5. 6.No Custom Host Drivers Necessary
    1. 6.1.Plug and Play
  6. Overview

    emUSB-Device MSD enables the use of an embedded target device as a USB mass storage device. The target device can be simply plugged-in and used like an ordinary disk drive, without the need to develop a driver for the host operating system.

    Typical Applications

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

    Key features

    • 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
    • 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
    • Small memory footprint

    Application Samples emUSB-Device MSD

    memory stick

    Memory Stick

    camera

    Camera

    mp3 player

    Mp3 player

    dvd player

    DVD player

    Components

    Components required to use MSD class:

    • emUSB MSD
    • emUSB-Device core
    • emUSB target driver
    • Real-time operating system (embOS or other)

    Resource usage

    emUSB device msd class structure

    Only Provide File System Code on the Target if Necessary

    Mass storage devices like USB sticks do not require their 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 delays 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.

    Check out our wiki article on MSD:
    https://kb.segger.com/MSD

    Use File System Support From Host OS

    A device which uses emUSB-Device 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-Device 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.

    No Custom Host Drivers Necessary

    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.

    Plug and Play

    Let's say the target system is a digital camera using emUSB-Device 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.

    • User manual
    • List of downloads
    • Update notification
    • Pricing
    • Support
    • Silicon vendor resources

    Headquarters

    SEGGER Microcontroller GmbH

    Ecolab-Allee 5
    40789 Monheim am Rhein, Germany
    info@segger.com
    Tel.: +49-2173-99312-0
    Fax: +49-2173-99312-28

    Locations

    USA: SEGGER Microcontroller Systems LLC

    Boston area
    101 Suffolk Lane
    Gardner, MA 01440, USA
    us-east@segger.com
    Tel.: +1-978-874-0299
    Fax: +1-978-874-0599

    Silicon Valley
    Milpitas, CA 95035, USA
    us-west@segger.com
    Tel.: +1-408-767-4068

    China: SEGGER Microcontroller China Co., Ltd.

    Room 218, Block A, Dahongqiaoguoji
    No. 133 Xiulian Road
    Minhang District, Shanghai 201199, China
    china@segger.com
    Tel.: +86-133-619-907-60

    ISO 9001 certified

    ISO 9001

    30+ years of experience

    First-class embedded software tools since 1992
    • Imprint
    • Disclaimer
    • Code of Conduct
    • Privacy Policy
    © 2025 SEGGER - All rights reserved.