• Australia: 1300 553 313
  • New Zealand: 0800 450 168

CMX-USB Device

Home / CMX Systems Products / CMX-USB Device

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 optimised 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.

  • 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 optimised 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 synchronised host / target file system access as well as API controlled file system access.
  • Pictbridge 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.

Call MicroWay on 1300 553 313 or email for more information

CMX-USB Host

CMX-USB Host stacks (OHCI, EHCI and non-compliant) are designed for processors with both integrated USB host controllers and external USB host controllers. The CMX-USB Host package offers Class drivers for Mass Storage, CDC, HID, Audio, MIDI, FTDI, Hub, OBEX, ECM, RNDIS, MTP, Printer and a Bootloader. CMX-USB Host Mass Storage is fully compatible with CMX-FFS-THIN, CMX-FFS-FAT, and CMX-FFS-SAFE-FAT File Systems and will work with or without an RTOS.

For further information call 1300 553 313 or email

CMX-USB OTG

The CMX-USB suite offers an optional OTG (On-The-Go) Module for applications whereby two devices must negotiate and decide which will act as a USB Host and which will operate as a USB device. The CMX-USB-OTG module is available for those processors which are equipped with an OTG controller that supports the HNP and SRP protocols which are used for USB host and USB device negotiation.

More often, embedded applications that require both USB host and USB device capability require dual mode operation. In dual mode, when a USB host is inserted, the host stack will start and when a USB device is inserted, the device stack will respond. This is accomplished by recognition of the ID pin on the USB OTG connector and is supported by CMX USB host and device stacks. For dual mode operation, OTG software is not required.

For further information call 1300 553 313 or email

CMX-USB Bootloaders

USB Host Bootloader
CMX-USBH-BL Host Bootloader provides the ability to update your product from a flash drive. With a footprint of less than 12K for code and under 2K RAM, the Host Bootloader is installed as a permanent bootstub and based on the developers’ design, CMX-USBH-BL can automatically check the flash drive for a new image and upload it to the target.

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.

FAT Bootloader
The CMX-FAT-BL is installed as a permanent bootstub on a target processor and based on the developer’s trigger mechanism CMX-FAT-BL will check the system’s media, such as SD/ MMC card, for a new code image to be programmed into the target. CMX-FAT-BL requires less than 4K code and less than 1K RAM on an ARM7 device.

For further information call 1300 553 313 or email