Luminary Micro Stellaris microcontrollers with USB functionality have all passed USB Device and
USB Embedded Host compliance testing.
The Stellaris USB Library is a royalty-free set of data types and functions for creating USB device,
host, or On-the-Go (OTG) applications for Stellaris microcontroller-based systems. Several programming
interfaces are provided, ranging from the thinnest layer which merely abstracts the underlying USB
controller hardware, to high level interfaces offering simple APIs supporting specific devices. The
contents of the USB library and its associated header files fall into four main groups:
- General purpose functions used by both device and host applications. These include
functions
to parse USB descriptors and set the operating mode of the application.
- Device specific functions providing the class-independent features required by all USB
device
applications such as host connection signaling and responding to standard descriptor
requests.
- Host specific functions providing class-independent features required by all USB host
application
such as device detection and enumeration, and endpoint management.
- Class specific functions and data types to aid development of applications conforming
to several
commonly-used USB classes.
USB device examples provided include HID keyboard, HID mouse, CDC serial, and generic bulk.
USB host examples provided include mass storage (USB flash stick), HID keyboard, and HID mouse.
In addition, the Stellaris USB library provides a Windows™-based INF for the supported USB classes in
a precompiled DLL that saves development time.
- Free license and royalty-free use (for use with Stellaris MCUs)
- Simplify and speed the development of applications - can be used for application development or as a
programming example.
- Allow the creation of full-function, easy-to-maintain code.
- Written entirely in C except where absolutely not possible. Even written in C, the software is
reasonably efficient in terms of memory and processor usage due to the compact nature of the Cortex-M3
Thumb2 instruction set.
- Take full advantage of the stellar interrupt performance of the Cortex-M3 core, without requiring any
special pragmas or custom assembly code prologue/epilogue functions.
- Can be compiled with error-checking code (for development use) or without (for final production use in
an MCU with a smaller memory configuration).
- Available as both object library and source code, so that the library can be used
as-is or
adapted as desired.
- Complete source-code examples for every peripheral and complete projects that work
out-of-the-box for Stellaris development and evaluation kits.
- Compiles on ARM/Keil, IAR, Code Red, Code Sourcery, and generic GNU development
tools.
For the
latest versions of our StellarisWare software, application note code samples, utilities, and other
downloads, see our
Software Updates
page.