MCCI portable firmware packages provide complete, risk-free, and high performance software for USB hosts and peripheral devices, from low speed devices to USB 3.1 Gen 1 and Gen 2 SuperSpeed. Although most MCCI products focus on USB, we also offer specialty products for supporting flash memory arrays and PCMCIA and CompactFlash cards.
All of our firmware packages share a common style: totally reentrant, no conditional compiles for product configuration, man-page-style documentation for each function, zero-copy architecture, and an implementation assuming only an ANSI C-89 compiler.
The MCCI USB DataPump® supports the full range of operating systems: pre-boot environments, classic real-time operating systems, Unix-like environments such as Linux and Android OS, and highly parallel environments such as the Windows XP/7/8/8.1 kernel. It is a complete, portable firmware package that provides all the required components for designing high-performance multi-function USB peripheral devices.
The MCCI USB DataPump encapsulates low level chip-control code and high-level device class support in a comprehensive framework, allowing peripheral firmware development engineers to focus on implementing peripheral functions. It is portable across operating systems, CPUs, and endianness, and it provides fundamental support for both MTP and PTP. A wide range of silicon and embedded device classes are supported.
The NCM standard is recognized as the most efficient way to move Ethernet frames over USB. MCCI's NCM firmware products are the fastest, most compatible implementations available. Automotive electronics and smart phone makers depend on MCCI's NCM firmware to provide fundamental support for the MirrorLink Consortium's standard for connecting smart phones to automotive in-vehicle entertainment systems. LTE modem makers depend on MCCI's NCM firmware to provide the fastest downlink and uplink speeds with the lowest CPU overhead.
MCCI chaired the NCM committee and wrote the NCM specification. Our firmware embodies know-how collected over years of development and deployment with a wide variety of platforms. Our architects are able to tune our implementation to meet the requirements of the underlying hardware.
MCCI also offers matching host class drivers for Windows, OS X, Linux, Android, Windows CE, QNX, uItron, and RTOS applications.
A variety of techniques are used to allow a single physical USB port to be used either as as a USB host or as a USB device, depending on the situation. Dual-role host/device ("DRD") products multiple a physical port based on dynamic decisions made by the system firmware, or on the kind of cable inserted; USB On-The-Go ("OTG") devices use the role-switching protocols defined by the USB-IF to allow cooperating devices to dynamically exchange roles. Products using the USB Type C™ connector use the Dual Role Port ("DRP") protocol defined by the Type C specification.
The MCCI TrueTask Dual-Role USB host/device stack supports fully standardized dual-role peripheral development. It adds the industry leading TrueTask USB Host Stack to the DataPump, supporting DRD, OTG, and Type C DRP applications with a single source base.
MCCI's MTP firmware allows devices to become USB-based media servers, using the industry-standard MTP protocol. MCCI delivers not just an MTP stack, but an end-to-end solution, including a flexible database that allows OEM-definable queries to create highly differentiated products. In addition, development and validation tools for both the host and the target devices round out a robust solution that helps developers improve time-to-market and reduce customer-support costs.
PictBridge supports direct printing from a USB device containing image files, such as a camera or camera phone.
MCCI's PictBridge implementation can easily be integrated into an existing product. The package is configurable, so that unnecessary features can be omitted. The package includes a comprehensive set of APIs and data structures necessary to implement the complete PictBridge solution. The customer is responsible for the user interface; all other details are handled by the implementation.
TrueTask® LSL ("Log Structured Layer") (US Patent 6,282,605) is a high reliability, high performance, software-based file system for embedded applications. It supports NAND Flash and NOR Flash, and can be placed under any file system, or embedded in mass storage devices such as USB Flash-Memory "Thumb" drives.
TrueCard® is a portable PCMCIA Card support software for embedded systems. TrueCard Embedded includes socket services, card services, super-clients, and Flash transfer software.