Skip to main content
  • Products
  • Evaluate our Software
  • Downloads
  • Free Utilities
  • Purchase
  • Support
  • About Us
  • Blog
  • Forum
  • Search
    • Contact Us
    • Forum
    • Knowledge Base
    • Web Shop
    • Newsletter
    • RSS
  •   Jobs
  •   Videos
  •   Blog
  •   Sustainability
  • emUSB-Host
  • Resource usage
  • Technology
  • Add-Ons
  • Accessories

Resource usage

The embedded USB Host stack emUSB-Host has been specifically designed for resource-constrained platforms. On a typical system emUSB-Host requires 20 KByte of flash memory and 10 KByte of RAM.

Contact us
Downloads
Documentation
SEGGER emUSB-Host

emUSB-Host has been designed to fit many kinds of embedded design requirements. Several features can be excluded from a build to get a minimal system that can efficiently act as a USB host. In the following section the memory usage of typical 32-bit embedded systems is listed.

Please note that the values shown below are approximate values and features selected can influence the final size. The measurement were made using a project for an ARM Cortex-M4 CPU with size optimization and SEGGER compiler 10.6.3.

ROM

The following table shows the approximate ROM requirement of emUSB-Host:

ComponentROM
Core Components
USB core6.2 KByte
HUB Support3.4 KByte
Class Components
CDC4.5 KByte
Vendor class3.8 KByte
CCID5.2 KByte
FT2324.6 KByte
HID Generic4.9 KByte
HID Mouse Keyboard6.0 KByte
MSD5.2 KByte + sizeof(file system)
MTP11.7 KByte
Printer4.7 KByte
MIDI4.8 KByte
AUDIO6.7 KByte
LAN using ASIX8.5 KByte + sizeof(emNET)
LAN using CDC-ECM6.5 KByte + sizeof(emNET)
LAN using RNDIS6.8 KByte + sizeof(emNET)
VIDEO7.6 KByte
Drivers
Driver EHCI4.4 KByte
Driver OHCI5.7 KByte
Driver STM32F4 FS4.0 KByte
Driver STM32F4 HS4.5 KByte
Driver STM32F7 HS4.7 KByte
Driver Kinetis FS2.7 KByte
Driver Renesas RX644.4 KByte
Driver LPC54xxx HS2.2 KByte
Driver LPC54xxx FS6.2 KByte
Driver MUSB2.3 KByte
Driver SAMV702.7 KByte

RAM

The following table shows the average RAM requirement of emUSB-Host: *

Component RAM
emUSB-Host core incl. one driver 3.8 KByte + (ca. 3 KByte stack for the managing tasks)
For each connected generic HID device 2.8 KByte
For each connected CDC ACM device 4.1 KByte
For each connected MSD device 2.3 KByte
For each connected Mouse 4.4 KByte
For each connected Vendor device 3.5 KByte
For each connected external HUB 1.9 KByte
For each connected LAN (ASIX) device 13.5 KByte
For each connected LAN (CDC-ECM) device 11.1 KByte
For each connected LAN (RNDIS) device 18.1 KByte

* The actual RAM usage may vary depending on the USB host controller used, the memory architecture of the target, the USB devices connected to emUSB-Host and the type of operations performed with that devices.

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
© 2025 SEGGER - All rights reserved.