Micrium uC/USB Device
µC/USB Device™ Stack for CrossCore® Embedded Studio
- µC/USB Device stack for CrossCore Embedded Studio requires a real-time operating system (RTOS).
- Integrates seamlessly with CrossCore Embedded Studio.
- Supports CrossCore Embedded Studio user interface windows for configuring the USB stack and device classes.
- Supports Full and High Speed USB Connections.
- Supports bulk, control and interrupt transfer types.
- Supports CDC/ACM, HID, MSC, PHDC and Vendor device classes.
- Supports responses to USB standard requests.
- Scalable to contain only required features.
- Complies with USB 1.1 and USB 2.0.
- Provides examples (one for each class) for a smooth out-of-the-box experience.
- Well integrated with μC/OS-III™ for CrossCore Embedded Studio to provide a threaded solution for USB.
The µC/USB Device Stack is provided with a hardware abstraction layer that enables it to be used with any USB device controller supported by the Analog Devices’ processor families. It supports Blackfin processors with built-in USB device controllers such as the ADSP-BF60x. It also supports processors that require an external USB controller as supplied by the Blackfin USB-LAN EZ-Extender for ADSP-BF533.
The µC/USB-Device Stack uses a modular architecture with three software layers between the application and the hardware:
- The Device Class enables an embedded device to communicate with a USB host using one or more class protocols. Each class module responds to class-specific control requests and provides an API for controlling some features of the class behavior and to receive/transmit data.
- The Device Core layer controls data reception and transmission, and responds to standard host requests during enumeration (the process by which a host learns the features of a device).
- The Device Controller driver layer interfaces with the USB controller to process interrupts, notify the device core of bus events, and receive/transmit data.
Products are offered for several common device classes:
Mass Storage (MSC), Communications Device (CDC), Human Interface Device (HID) and Personal Healthcare Device (PHDC). In addition, a Vendor-Specific Class for developing vendor-specific USB devices is also available. The class products are:
µC/USB Device Class CDC-ACM for CrossCore Embedded Studio - The Communication Device Class (CDC) encompasses several communication models. The Abstract Control Model (ACM) converts the USB device into a serial communication device, and the target is recognized by the host as a serial interface (USB2COM, virtual COM port). Typical applications include modems, telephone systems and fax machines.
µC/USB Device Class HID for CrossCore Embedded Studio - The Human Interface Device (HID) Class allows you to implement any kind of user-input device. It can also be used to communicate with the host (without a special host driver) using a vendor-specific communication protocol. Typical applications include mouse, keyboard, game pad, etc...
µC/USB Device Class MSC for CrossCore Embedded Studio - The Mass Storage Class (MSC) allows you to use the embedded target device as a USB mass storage device. Typical applications include USB memory stick, digital camera, MP3 player, DVD player, etc.
µC/USB Device Class PHDC for CrossCore Embedded Studio - The Personal Healthcare Device Class (PHDC) allows you to set up the embedded target as a personal healthcare device, which can use a vendor-defined or IEEE-11073 based protocol. Typical applications include glucose meter, blood pressure monitor, weighing scale, etc...
µC/USB Device Class Vendor for CrossCore Embedded Studio - The Vendor class allows you to develop a custom class (at the application level) that makes use of bulk and/or interrupt transfers.A vendor-specific host application is required to communicate with the device along with an appropriate device driver. The Micriµm host API library DLL is also supplied to enable Windows’ host applications to communicate with the Microsoft Windows’ WinUSB driver. An example is supplied complete with both device and host applications and a signed WinUSB driver implementation.
Single Product License
A Single Product License allows the licensee to embed the software into one specific customer identified end-product. Each end-product can be produced in an unlimited number of units, for the lifetime of that one specific end-product. An end-product refers to a product manufactured by the licensee using the software. Each end-product is assumed to contain a single microprocessor, microcontroller or DSP.
Product Line License (Product Family License)
A Product Line License (also known as a Product Family License) allows the licensee to embed the software into an unlimited number of different “Single Products? as long as each such product performs a similar function. For example, all commercial washing machines would be considered being part of a product family. Commercial “dryers? would be considered being part of a different family of products. Each end-product within the product family can be produced in an unlimited quantity, for the lifetime of the end-products belonging to the product family.
CPU-Type License (Platform License)
A CPU-Type License allows the licensee to embed the software into any number of different end-products using a single and specific processor type. The license holder may manufacture an unlimited number of units of each of these different end-products for the life of the end-product that uses the specific licensed processor type from ADI (or its affiliates). The processor type is defined as being part of the same family. For example; Blackfin® (for example, Blackfin® ADSP-BFxxx).
A Site License allows the licensee to embed the software into any end-product that uses any CPU as long as the products are designed at a single physical site. A site is defined as licensee facilities where a product is being developed and may consist of multiple buildings located within a two (2) mile radius building one or more end-products.
Common to all Micriµm based CrossCore Embedded Studio Add-in licenses:
- Licenses are royalty free.
- Licenses are perpetual for the life of the customer end-product.
- One year of maintenance is included with each license. The maintenance period begins when the product is first licensed.
- Subsequent years of maintenance are optional but highly recommended so that upgrades, improvements, bug fixes etc. are continually provided.
- For pricing on additional Micriµm based CrossCore Software license options, please Contact ADI
- For a more complete list of µC/USB Device Stack parts refer to this document
Maintenance Policy: A CrossCore Embedded Studio license includes one year of updates, upgrades and lifetime support. The optional annual maintenance provides access to updates and upgrades released during the maintenance period. Updates released after the maintenance period will not run until maintenance is renewed. Renewing maintenance provides instant access to all previous updates. Annual maintenance is 20% of book price for each license option, for additional information please Contact ADI
Evaluation Version Reminder: A reminder that once your evaluation of uCOS-III or uCOS-II Real-Time Kernel for CrossCore Embedded Studio is complete, and you decide to use it in a commercial product, you must purchase a full license from Analog Devices to comply with our license terms and agreements.
Licensing to Colleges and Universities Policy: Developers from accredited colleges and universities can use µC/OS-III Real-Time Kernel for CCES without a license, as long as the software is used only for educational purposes or peaceful research.
- Windows XP Professional SP3 (32-bit only).
- Windows Vista Business/Enterprise/Ultimate SP2 (32-bit only). It is recommended to install the software in a non-UAC-protected location.
- Windows 7 Professional/Enterprise/Ultimate (32 and 64-bit). It is recommended to install the software in a non-UAC-protected location.
- Minimum of 2 GHz single core processor, 3.3 GHz dual core is recommended.
- Minimum of 1 GB memory (RAM), 4 GB is recommended.
- Minimum of 2 GB hard disk (HDD) space is required.
- CrossCore Embedded Studio for Analog Devices Processors.
CrossCore Software Licensing Guide (Revision 1.3, May 2015) PDF
The Software Licensing Guide describes the licensing mechanism used by CrossCore Embedded Studio. It explains the different kinds of license and the conditions and implications of license expiry. It describes how to activate and validate licenses, and how to administer a corporate domain license.