The CMX-USB device stack offers a wide selection of Add-On options including an HID class implementation supporting Human Interface Devices such as a keyboard, mouse or joystick, a full USB Mass Storage Class with optimized drivers for accessing MMC/SD cards or other devices, a CDC class implementation for supporting standard communications ports, Media Transfer (MTP) Class for portable media devices, Pictbridge Extension for MTP Class, RNDIS for Remote Networking, ECM for Ethernet Networking Control, Audio, MIDI, Printer, Personal Healthcare Class and a Bootloader. USB Mass Storage is fully compatible with CMX-FFS-THIN and CMX-FFS-FAT File Systems.
CMX is constantly adding new processors, for more information please contact us.
On Chip USB controllers:
Most Cortex-M3 and Cortex-M4 processors; Atmel: AT91SAM7xxx, AT91SAM9xxx, AT91RM9200, AVR32; Freescale: imX2x/3x/5x, JM60/128, MPC834x, MCF52xx, MCF5222x, MCF53xx, MCF54xx; Fujitsu: FM3; Microchip: PIC24, PIC32; NXP: LPC11xx, 2148, 2368/78/88, 2468/78, 28xx, 29xx, 31xx, 32xx; Renesas: SH72xx, RX100, RX600; STMicroelectronics: STR7xx, STR9xx; TI: MSP430, DSP 5509A, 6457.
External USB controllers:
NXP ISP1XXX and Maxim 3421E
The CMX-USB-CDC-ACM module enables the designer to provide a virtual USB serial port on the embedded target which acts as a standard serial port and can be accessed using simple, serial API functions. CMX-USB-CDC-ACM is optimized to use minimal RAM and ROM and requires just the control channel endpoint and a single interrupt endpoint.
CMX-USB-CDC-ECM is an Ethernet Control Model driver handling the exchange of Ethernet framed data between a USB Host and Device.
The CMX-USB-HID Class driver provides support for Human Interface Devices such as a
mouse, keyboard and joystick.
CMX-USB-MS allows you to connect an embedded system to an embedded Host or PC and have
the embedded system appear as a mass storage device to the host system.
Media Transfer Protocol
CMX-USB-MTP Class driver provides the Windows XP/Vista compliant Media Transfer Protocol (MTP) widely used in the design of portable media devices. This class driver option and Mass Storage alternative, appears as a standard drive to the host and can also be used with CMX's file systems to provide synchronized host / target file system access as well as API controlled file system access.
CMX-USB-Pictbridge is a USB Add-On option which, when used in conjunction with CMX-USB-MTP, allows images to print directly from an image source without the need for a PC. This option also includes XML parser for encoding and decoding PictBridge protocol objects.
Remote Network Driver Interface (RNDIS)
CMX-USB-RNDIS is a class driver that allows embedded devices to connect to hosts over USB and to appear as a standard network card. The RNDIS class driver includes a virtual Ethernet driver with a simple API that provides for easy integration with a TCP/IP stack or to another Ethernet driver interface.
Personal Healthcare Class
CMX-USB-PHDC is a USB device class option designed for communications requirements for medical devices used in the healthcare industry.
CMX-USB-AUD enables an embedded device to play audio output from a USB host device (PC) or to send audio input, such as a microphone, to a USB host in conjunction with the CMX-USB-HID class driver used for audio device control.
The CMX-USB-PL class driver enables USB printers to be attached to an embedded device which generates pages in the PCL5 format.
The CMX-USB-MIDI class driver is available for embedded USB devices which implement the MIDI (Musical Instrument Digital Interface) protocol.
USB Device Bootloader
The CMX-USB-BL Device Bootloader is a standalone system which allows an application to
download new application code to the target. Using the developers’ trigger mechanism, the
Bootloader accepts a new image from a host and programs it into the device. The footprint of the
CMX-USB-BL is less than 4k bytes and can be held as a permanent, reliable boot-stub on a single
small sector flash which handles all future firmware upgrades.
Host developer options for the download program include:
- Complementary sample application that works with the freely available libusb.
- Ability to use generic USB host interface such as Winusb from Microsoft.