Its modular architecture, combined with an optimized memory footprint, makes emcpp_usb a preferred choice for mobile applications. The library is completely implemented in ANSI C/C++ and can be easily ported to any combination of microprocessor, USB hardware and operating system. emcpp_usb is fully compliant to the USB 3.0 standard and backward-compatible to USB 2.0 and older specifications as well as the On-The-Go supplement.
The emcpp_usb library provides all features necessary to establish basic USB Transfers, which includes the following key attributes:
Powerful build environment available with setups for all established tool chains such as Keil, Tasking, RealView, Metrowerks, IAR, GCC, ICC, MSVC, etc.
Prototyping development under Linux (if target hardware is available) or based on transport layer emulation by sockets (if hardware is unavailable).
The library has a layered architecture. All layers and data types are modeled as objects (structs and access macros in C; classes in C++).
Complete ANSI C/C++ implementation can be supplied as object code and optional source code together with build environment and interactive documentation.
| USB Device Class | Host | Device |
|---|---|---|
| MSC – Mass Storage Class (SCSI, RBC) | ● | ● |
| CDC – Communications Device Class (ACM, ECM, EEM, NCM, MBIM) | ● | ● |
| WMC – Wireless Mobile Communications Devices (OBEX, MDLM) | ○ | ● |
| HID – Human Interface Device Class (Boot, Full Featured) | ● | ● |
| DFU – Device Firmware Update | ● | ● |
| DvC – Debug | ○ | ● |
| CS – Content Security | ● | ● |
| ICCD/CCID – SmartCard | ● | ● |
| Still Image (PictPridge, PTP, MTP) | ● | ● |
| AV – Audio/Video | ○ | ● |
| USB Hub | ● | ○ |
| Printer | ○ | ● |
| MCPC FOMA | ● | ● |
| Google ADB | ● | ● |
emsys Embedded Systems GmbH
Werner-von-Siemens-Straße 20, 98693 Ilmenau
Telefon: +49 3677 689770 | E-Mail: emsys@emsys.de