Skip navigation

emUSB-Host Resource Usage

Memory footprint: emUSB-Host is designed to fit many kinds of embedded design requirements. Several features can be excluded from a build to get a minimal system. Note that the values are only valid for the given configuration. The test program was compiled for an ARM Cortex-M4 CPU with size optimization.


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

emUSB-Host core  6.6 KByte
external HUB support3.1 KByte
HID class support6 KByte
MSD class support8 KByte + (size of file system)
CDC ACM class support5.2 KByte
FT232 component support3.8 KByte
Printer class support2.8 KByte
MTP class support13.2 KByte
On-The-Go support350 Byte + emUSB-Device
Driver EHCI5 KByte
Driver OHCI7.9 KByte
Driver Synopsys / STM325 KByte
Driver Renesas5.3 KByte




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

emUSB-Host core incl. one driver3.8 KByte
For each connected generic HID device3.0 KByte
For each connected CDC ACM device4.0 KByte
For each connected MSD device2.2 KByte
For each connected Mouse4.6 KByte
For each connected external HUB2.0 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.