CSUSBD

CSUSBD Real-time USB device software stack designed for embedded systems that allows the creation of products that interoperate with standard USB devices.
Key Features
Thanks to a hardware abstraction layer, you can easily port Cs/USB software to any new USB device 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, PHDC, and Vendor classes
- Support from Microsoft OS Descriptors for USB devices (which simplifies installation of vendor-specific drivers on Windows OS)
USB Device Classes
| Class | Example USB Devices |
|---|---|
| Audio (Available for devices using the Synopsys_OTG_HS driver) | 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 Cs/NET stack is used for 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 Cs/FS file system module |
| Personal Healthcare Device Class (PHDC) (Available for devices using Cs/OS2) | Allows to build USB devices that are meant to be used to monitor and improve personal healthcare USB Device Class Definition for Personal Healthcare Devices |
| 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. Cs/USBD offers a framework to help create host applications (Windows OS only) that communicate with these devices |
USB Device Controllers
| Driver | Examples of Platform |
|---|---|
| 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 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 i.MX NXP 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) ST STM32 U5575x/585x devices |
| DWC_OTG_HS | ST STM32 F2 series (High Speed) ST STM32 F4 series (High Speed) ST STM32 F7 series (High Speed) ST STM32 H7 series (High Speed) ST STM32 N6 series (High Speed) |
| STM32xxx | ST STM32F103xx (e.g. STM32F103ZE) ST STM32F102xx ST STM32L1xx (e.g. STM32L152) |
| STR91xxx | ST STR9 |
| RM48x | Texas Instruments RM48 series |
| TM4C123x | Texas Instruments Stellaris LM4F series Texas Instruments Tiva C-series |
USB Command Verifier (USBCV) is used to validate the compliance of the stack with the USB Specification. USBCV is the official compliance test tool that 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.
| 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 PHDC tests |
Commercial License
All Cesium RTOS components are commercially licensed. All commercial licenses are a one-time purchase that are perpetual for the life of your product and royalty-free. We use the same simple licensing model as did Micrium, based on your end-product's deployment, for establishing the commercial license costs. The following types of licenses are available for purchase:
Single Product License
A Single Product License allows you to embed a Cesium RTOS software component into one customer end-product. There is no limitation on the number of end-customer products deployed. This license is specific to the processor used and the specific name and model of the customer end-product.
Product Line License for Single CPU
A Product Line License for a Single CPU allows you to embed a Cesium RTOS software component into any number of customer end-products within a given product family. You may use only a single and specific processor type within the product family. You may deploy an unlimited number of these customer end-products within the product family.
Product Line License
A Product Line License allows you to embed a Cesium RTOS software component into any number of customer end-products within a given product family, and to deploy an unlimited number of these customer end-products within the product family.
CPU (Platform) License
A CPU-Type License allows you to embed a Cesium RTOS software component into any number of customer end-products using a single and specific processor type. You may deploy an unlimited number of these customer end-products.
Site License
A Site License allows you to embed a Cesium RTOS software component into any number of customer end-products that use any CPU, as long as the products are designed at a single site. There are no restrictions on design or quantity.
Technical Support Plan
Technical support services for any of the Cs/ software is readily available to all customers currently using or interested in the Cs/ family of RTOS components.
Specialized Engineering Services
Do you need specialized assistance with your Cesium-based embedded project? Do you need real-time embedded software expertise for your mission critical application?
Kindly, please contact us for this or any other embedded software projects.
Reliable
Cesium software includes comprehensive documentation, full source code, powerful debugging features, and support for a huge range of CPU architectures.
Efficient
Cesium software offers unprecedented ease-of-use, a small memory footprint, remarkable energy efficiency, and all with a full suite of protocol stacks.
Trusted
Engineers across the world building industrial controls, medical devices, and aerospace systems know they can rely on Cesium software for the foundation of exceptional products.