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-Host
  • Resource usage

    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.

    • 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.