CMX Systems
Flash File Systems
  CMX-USB Device
  CMX-USB Host
  CMX-USB Bootloader


CMX-USB Device

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

CDC Class

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.

HID Class

The CMX-USB-HID Class driver provides support for Human Interface Devices such as a mouse, keyboard and joystick.

Mass Storage

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.

Audio Class

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.

Printer Class

The CMX-USB-PL class driver enables USB printers to be attached to an embedded device which generates pages in the PCL5 format.

MIDI Class

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:

  1. Complementary sample application that works with the freely available libusb.
  2. Ability to use generic USB host interface such as Winusb from Microsoft.


Copyright material 2014© All Rights Reserved. Site and all contents are the sole property of CMX Systems, Inc.
No part of this site may be copied or used without the express written permission of the owner.
Web Services by Unicorn Web Development, Inc.