
USB Device
Real-time USB device software stack designed for embedded systems.
It allow you to create a product that interoperates with standard USB devices, and include many class drivers to support a broad selection of device types.
Return to the µC/OS Overview
Features
Key Features
Thanks to a hardware abstraction layer, you can easily port Micrium's USB software to any new USB devices by simply modifying existing hardware access routines.
- Support for High Speed (480 Mbit/s) and Full Speed (12 Mbit/s) devices
- Compliant with USB 2.0 specification
- Easy-to-use API
- Extensive test cases and test harness to verify stack integration
- Support for composite (multifunction) devices
- Support for multiple USB device configurations
- Power saving functionalities such as device suspend and resume
- Support for Audio, CDC ACM, CDC EEM, HID, MSC, and Vendor classes.
- Support for Microsoft OS Descriptors for USB devices (which simplifies installation of vendor specific drivers on Windows OS).
Micrium and USB
Class and Driver Support
USB Device Classes
Class |
Example USB Devices |
Audio |
- Support audio devices such as speakers, microphones, headset, etc.
- Extended audio functions (such as adaptive audio correction) and controls (volume, mute, treble, bass, etc.)
|
Communications Device Class
Abstract Control Model (CDC ACM) |
- Emulation of a virtual serial port on the host PC
- The host PC can communicate with the device using a serial terminal or native serial communication APIs
|
Communications Device Class
Ethernet Emulation Model (CDC EEM) |
- Ethernet networking over USB
- The µC/OS TCP/IP module is used for the network communication and any of its applications can be used
|
Human Interface Device Class (HID) |
- Support for devices such as mice and keyboards
|
Mass Storage Class (MSC) |
- Support for storage media from the host PC
- Offers advanced features such as interoperability with µC/OS file system module
|
Vendor Class |
The vendor class allows you to create any device that cannot fall into a standard class for which a standard has been set by the USB implementers forum. It allows you to perform raw bulk and interrupt communications with the host. Micrium offers a framework to help create host application (Windows OS only) that communicates with these devices. |
USB Device Controllers
Driver |
Example of Platform |
Analog Device * |
- Analog Device ADSP-BF52x
- Analog Device ADSP-BF60x
|
AT32UC3C |
- Atmel AVR UC3 C-Series (AT32UC3C)
|
AT32UC3x |
- Atmel AVR UC3 A0-Series (AT32UC3A0x)
- Atmel AVR UC3 A1-Series (AT32UC3A1x)
- Atmel AVR UC3 B-Series (AT32UC3B)
|
AT91SAM_UDPHS |
- Atmel SAM3U
- Atmel SAM9R (e.g. SAM9RL64)
- Atmel SAM9M (e.g. SAM9M10)
- Atmel SAM9G (e.g. SAM9G45)
|
Kinetis_Kxx |
- NXP/Freescale Kinetis K series
|
LPCxxxx |
- NXP LPC17xx (e.g. LPC1768)
- NXP LPC214x (e.g. LPC2148)
- NXP LPC23xx (e.g. LPC2378)
- NXP LPC24xx (e.g. LPC2468, LPC2478)
- NXP LPC29xx
- NXP LPC318x
|
Synopsys_OTG_HS |
- NXP LPC313x (e.g. LPC3131)
- NXP LPC185x (e.g. LPC1857)
- NXP LPC183x
- NXP LPC182x
- NXP LPC435x (e.g. LPC4350)
- NXP LPC433x
- NXP LPC432x
- Xilinx Zynq
- NXP/Freescal iMX
- NXP/Freescale Kinetis K70
|
Renesas_USBHS |
- Renesas RZ/A series (RZ/A1)
- Renesas RX64M
|
RX600 |
- Renesas RX600 series (RX62N, RX63N, RX630)
- Renesas RX100 series (RX111)
- Renesas V850E2/Jx4-L series
|
STM32F_FS |
- ST STM32 F1 series (e.g. STM32F105, ST STM32F107)
- ST STM32 F2 series (e.g. STM32F207, ST STM32F217)
- ST STM32 F4 series (e.g. STM32F407, ST STM32F417)
|
STM32xxx |
- ST STM32F103xx (e.g. STM32F103ZE)
- ST STM32F102xx
- ST STM32L1xx (e.g. STM32L152)
|
STR91xxx |
|
RM48x |
|
TM4C123x |
- TI Stellaris LM4F series
- TI Tiva C-series
|
*This driver is developed and supported by Analog Devices. Please visit the Micrium USB Device™ Stack for CrossCore® Embedded Studio page for more details.
Stack Compliance
Micrium uses USB Command Verifier (USBCV) to validate the compliance of the stack with the USB Specification. USBCV is the official compliance test tool which evaluates High, Full and Low-speed USB devices for conformance. This tool is provided by the USB Implementers Forum (USB-IF).
USBCV offers a test suite to validate the compliance of a device with Chapter 9 of the USB specification Revision 2.0 (enumeration process). It also offers a test suite for several classes.
The following table lists the different layers of Micrium USB Device and the USBCV test suite used to validate the implementation.
Layer |
USBCV test suite |
Core |
Chapter 9 tests |
Human Interface Device class |
HID tests |
Mass Storage Class |
MSC tests |
Device Controller Driver |
Chapter 9, HID, MSC and PDHC tests |
Licensing
Licensing Packages That Meet Your Needs
Micrium embedded components are priced as individual modules or as bundled solutions. Check out our licensing page for more information.
Contact us today and start working with µC/OS
View the complete site map
© 2019 Silicon Labs. All rights reserved.