Skip to main content
  • Products
  • Evaluate our Software
  • Downloads
  • Free Utilities
  • Purchase
  • Support
  • About Us
  • Blog
  • Forum
  • Search
    • Contact Us
    • Forum
    • Wiki
    • Web Shop
    • Newsletter
    • RSS
  •   Jobs
  •   Videos
  •   Blog
  •   Sustainability
  • emUSB-Device
  • MSD Class
  • Technology
  • Add-Ons
SEGGER emUSB-Device product-icon

emUSB-Device—Mass Storage Device Add-On

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.

  • 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
  1. 1.Typical Applications
  2. 2.Application Samples emUSB-Device MSD
  3. 3.No Custom Host Drivers Necessary
    1. 3.1.Plug and Play
  4. 4.Use File System Support From Host OS
  5. 5.Only Provide File System Code on the Target if Necessary
  6. 6.Components
msd

Typical Applications

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

Application Samples emUSB-Device MSD

memory stick

Memory Stick

camera

Camera

mp3 player

Mp3 player

dvd player

DVD player

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.

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.

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://wiki.segger.com/MSD

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

More Information

Purchase

  • Pricing

Technology

  • Combining Interfaces/Addons
  • Samples
  • Drivers
  • Performance
  • Resource usage
  • WebUSB

Add-Ons

  • Audio
  • Bulk Component
  • CDC Class
  • CDC-ECM Class
  • CDC-NCM Class
  • DFU Class
  • HID Class
  • IP-over-USB
  • MSD Class
  • MTP Class
  • Printer Class
  • RNDIS Class
  • Video
  • VirtualMSD Component
  • CCID
  • MIDI

About us

  • The Company
  • Partners
  • Job Offers
  • Media
  • Contact us

Support

  • Technical Support
  • Blog
  • Forum
  • Wiki

Downloads

  • Application Notes
  • Embedded Studio
  • embOS
  • emCompress
  • emCrypt
  • emFile
  • emLib
  • emLoad
  • emModbus
  • emNet
  • emPower
  • emSecure
  • emSSH
  • emSSL
  • emUSB-Device
  • emUSB-Host
  • emVNC
  • emWin
  • Flasher
  • Free Utilities
  • IoT
  • J-Link / J-Trace
  • Linux Studio
  • SystemView
  • CE / REACH

Social Media

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
  • Privacy Policy

© 2023 SEGGER - All rights reserved.