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

emUSB-Device Resource Usage

Memory footprint

emUSB-Device is designed to fit many kinds of embedded design requirements. Several features can be excluded from a build to get a minimal system. The code size depends on the API functions called by the application. The code was compiled with the SEGGER compiler for a Cortex-M4 CPU with size optimization. Note that the values are only valid for an average configuration.

The following table shows the approximate ROM and RAM requirements of emUSB-Device

ComponentROMRAMNote
USB core 5.5 KByte 1.0 KByte
Bulk 2.0 KByte 0.1 KByte
CDC 1.3 KByte 0.1 KByte
HID 1.5 KByte 0.1 KByte
MSD 4.8 KByte 0.5 KByte + size of file system
+ configurable sector buffer of minimum 512 bytes (RAM)
MTP 14.4 KByte 1.7 KByte + size of file system
+ configurable file data buffer of minimum 512 bytes RAM)
+ configurable object buffer (typically 4 kBytes RAM)
Printer 1.0 KByte 2.1 KByte
RNDIS 5.3 KByte 1.5 KByte + size of the IP stack
ECM 2.8 KByte 0.2 KByte + size of the IP stack
IP-Over-USB 7.1 KByte 1.7 KByte + size of the IP stack
VirtualMSD 8.1 KByte 1.0 KByte + heap of minimum 1700 bytes RAM
DFU 1.0 KByte 0.0 KByte
AUDIO 2.3 KByte 0.1 KByte
MIDI 1.8 KByte 0.0 KByte
CCID 1.2 KByte 0.0 KByte
USB target driver 1.3 - 3.6 KByte 0.0 - 7.6 KByte

Additionally 64, 512 or 1024 Byte (for full-speed, high-speed and SuperSpeed devices, respectively) of RAM are necessary for each OUT-endpoint as a data buffer. This buffer is assigned within the application.

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.