Embedded USB stacks from Tuxera (formerly HCC Embedded) are mature, widely used stacks that can support almost any desired USB configuration. The USB suite includes solutions not only for common functions like HID, Hub, and Mass Storage but also for more sophisticated requirements including Isochronous, Composite Devices, and interfaces to File Systems and Ethernet. This means developers can exploit USB to its full capability with ease without having to worry about developing highly specialized drivers.
USB Host: scalable suite that enables an embedded host to control a variety of USB devices including pen drives, printers, audio devices, joysticks, virtual serial ports, and network interfaces. The embedded USB host stack supports all STM32 MCUs.
USB Device: allows developers to integrate USB device functionality into their embedded devices. It is available with a comprehensive suite of class drivers that gives the device many functional possibilities, including operating as a pen drive, virtual serial port, joystick, audio system, or a network card.
USB OTG: In many cases, OTG software is not required. Tuxera provides the hooks for this configuration as standard. If required, Tuxera also provides a full software OTG stack that supports the SRP and HNP protocols for negotiating between two connected devices in order to decide which one shall operate as the host.
All Speeds & Transfer Types: Tuxera USB comprehensively supports all USB End-point/Transfer Types and Interface Speeds including Low (1.5Mbs), Full (12Mbs) and High Speed (480Mbps). Transfer types include Control, Interrupt, Bulk, and Isochronous, providing the base for the widest possible range of class drivers.
Composite, Compound & Complex Devices: Tuxera provides support for multiple USB class functions to be used on the same device.
Network Integration: RNDIS, CDC-ACM, CDC-EEM, CDC-ECM, CDC-OBEX, and CDC-FTDI.