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
  • VirtualMSD Component
  • Technology
  • Add-Ons
SEGGER emUSB-Device product-icon

emUSB-Device VirtualMSD Component

The VirtualMSD component allows to easily stream files to and from USB devices. Once the USB device is connected to the host, files can be read or written to the application without the need for dedicated storage memory.

  • No file-system needed
  • No physical storage needed
  • Small footprint
  1. 1.The VirtualMSD Component is very flexible
    1. 1.1.Typical Applications
  2. 2.Application Samples emUSB-Device VirtualMSD
  3. 3.Features
  4. 4.Getting Access to Storage
  5. 5.Components
  6. 6.Using VirtualMSD as a Firmware Updater
  7. 7.Try it now

The VirtualMSD Component is very flexible

It can be used for various types of applications and purposes, with no additional software or drivers necessary on the host side. The VirtualMSD software analyzes what operation is performed by the host and passes this to the application layer of the embedded target, which then performs the appropriate action. A simple drag and drop is all it takes to initialize this process, which is supported by a unique active file technology.

emUSB host MTP

Typical Applications

  • Updating firmware (e.g. Handheld Terminal)
  • Updating configuration files

The most typical application is a firmware update. Other examples are storing new configuration files on the target or reading measurement data in case the USB device is collecting data, such as a sensor. VirtualMSD can access all data which has been created prior to the device being attached to the host, live data cannot be provided. VirtualMSD allows to use the storage device in a virtual manner, which means data does not need to be stored on a physical medium. The storage device will be shown on the host as a FAT formatted volume with a configurable size and a configurable file list.

VirtualMSD itself is based on the MSD class and thus can be used on virtually any OS such as any Windows, macOS, any Linux distribution which supports MSD without installing any third party tools, or even Android.

Application Samples emUSB-Device VirtualMSD

smart watch

Smart watch

J-Link OB K22 Eval

J-Link OB

Features

emUSB-Device VirtualMSD comes as a whole package and contains the following components:

  • Generic USB handling
  • MSD device class implementation
  • VirtualMSD component
  • Sample application showing how to work with VirtualMSD

Getting Access to Storage

The files and directories stored on the device can be accessed in the usual way using the file manager.

virtual-msd-win10-1

The files and directories stored on the device can be accessed in the usual way using the Windows Explorer.

Components

Components required to use VirtualMSD:

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

Resource usage

Using VirtualMSD as a Firmware Updater

VirtualMSD can be used in order to update firmware on a target device by simply dragging and dropping a firmware image to the VirtualMSD storage device. As MSD is supported by any operating system, it will work without installing any third party drivers or tools. Firmware update has never been easier. On different platforms the update procedure is almost the same. Simply drag the file you want to update onto the VirtualMSD drive icon or drive window.

virtual-msd-win10-2

Simply drag the file you want to update onto the VirtualMSD drive icon or drive window.

virtual-msd-win10-3.

While the file is copied to the VirtualMSD storage drive, the application itself is being passed to an internal module and performs an update of the target device's flash.

Try it now

Download the emUSB-Device VirtualMSD demo for the emPower board:

  • Program the emPower with the default application using Embedded Studio
  • Connect the HS USB connector to your PC
  • Copy any file onto the VirtualMSD volume
  • The device will automatically re-attach
  • A file named CRC.txt will appear in the volume containing the CRC32 of the copied file

Download sample project for
emPower board

SEGGER emPack - emPower 500

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.