MQX RTOS

The MQX Real-time Operating System provides real-time performance within a small, configurable footprint. The MQX RTOS is designed to allow you to configure and balance code size with performance requirements. The easy-to-use MQX API and out-of-box experience ensures first-time RTOS users can start developing their application on the day you install the software but is powerful enough for experienced OS developers easily migrate legacy application code to an MQX-based platform. MQX RTOS is tightly integrated with the latest processors from NXP and provided with commonly used device drivers. It is integrated with the CodeWarrior tools, IAR tools, and Keil tools to support task aware debugging.

MQX RTOS

MQX version 5 is available !

Version 5  is based on MQX 4.2 and it adds IPv6 to the TCP/IP Stack, IoT protocols (such as MQTT and REST), lightweight JSON Parser, cJSON Parser / Framer, a lightweight XML Parser / Framer, and the zlib Compression / Decompression library. MQXv5 also adds compliance with over 20 MISRA coding rules, driver enhancements, and bug fixes. The most common Kinetis and i.MX processors are supported (e.g. K70, K66, i.MX6 (M4 core) and i.MX7 (M4 core)), and other ports are coming. In fact any NXP processor can be supported. More details are available on the NXP website on MQXv5 and the differences between MQXv5 and MQX Classic. Feel free to email info@embedded-access.com with questions or port requests.

Designed for Embedded Applications

The MQX RTOS was specifically designed for embedded systems. Taking into account the limited memory and real-time response requirement of many embedded applications, the MQX design created an architecture that provided a RTOS with a full feature set but configurable enough to allow it to fit into very small memory requirements. In addition, real-time performance was a top priority. Highly optimized code for context switches and interrupt handling is used to ensure rapid response times.

The MQX RTOS offers multithreading technology with its advanced POSIX-compatible task scheduling, thread operation, and modern message-passing micro-kernel design. The most successful products are the ones that can adapt quickly to meet market needs. That’s why you need a flexible dynamic RTOS like MQX.

The MQX RTOS component-based architecture lets you extend a full-function RTOS core with additional, optional services. MQX includes 25 components – eight are core, and 17 are optional.

The MQX RTOS has been tested on embedded microprocessor architectures such as NXP’s Kinetis, i.MX, ColdFire and Power Architecture architectures. Integration with NXP’s CodeWarrior, KDS, and IAR Tools ensures a great out-of-box experience for MQX developers using these processor architectures.

Proven in Millions of Shipped Units

Your applications’ stability, your product revenues, and ultimately your company depend on the reliability of the RTOS that you choose. The MQX RTOS is field proven in mission-critical areas such as avionics, aerospace, medical electronics, and data communications. The MQX RTOS is capable of meeting the most demanding requirements. Leading companies have used MQX products to bring their products to market for years. MQX has been used in thousands of embedded designs and deployed in millions of fielded units. The MQX RTOS has been used in medical products that require FDA certification and avionics applications that require DO-178B certfication.

Small Configurable Memory Footprint

MQX is implemented as a C library including optimized assembly code for context switching and interrupt handling. Only the features used by the application are included in the image downloaded onto the target. The MQX RTOS can be configured to take as little as 10 KB of ROM for ColdFire® applications, including kernel, interrupts, semaphores, queues and memory manager.

Real-time Performance

In most embedded systems applications need to respond to external events very quickly. All time-critical services are optimized for speed and determinism. The MQX RTOS is re-entrant (including interrupt service routines), letting it react quickly and be responsive to external events. Context switch and interrupt routines are optimized for each supported processor architecture. The MQX RTOS also provides a very fast boot sequence to ensure the application is running almost instantly after the hardware has been reset.

The MQX RTOS delivers the performance that demanding customers have come to expect in leading RTOS solutions. For example, on a 200 MHz Power Architecture, MPC8248, benchmarks measure on real hardware showed that MQX RTOS interrupt latency is a mere 0.331 µsec and context switch time was benchmarked at 0.558 µsec.

Task Aware Debugging Plug-in

CodeWarrior Integration

MQX RTOS’s Task Aware Debugging plug-in provides users with  visibility of information into the application tasks and key RTOS data. This includes such data as task templates, task queues, semaphores, lightweight semaphores, mutexes, events, message queues, message pools, partitions, user memory blocks, system memory blocks, names, the kernel data structure, the MQX initialization structure, interrupt handlers, and the kernel log.

In addition, the ‘Check for Errors’ function summarizes the results of common application errors, such as exhausting a memory pool, and presents this information in a single window. Having access to this summary, and all other information available this plug-in offers, directly in the IDE greatly aids any developer in the debugging of their application. The Task Aware Debugging Plug-in is available for CodeWarrior, IAR, Keil, and ARM DS-5 Development Tools.

embeddedaccess28-edited

Processor and Board Support Packages

The MQX RTOS is currently supported on a full range of leading 32-bit embedded processors, including Kinetis, i.MX, ColdFire, and Power Architecture processors from NXP Semiconductor. Custom Board Support Packages for your own hardware can be provided as well.

Device drivers provide control of external peripherals or events. MQX RTOS board support packages supply drivers for Ethernet, HDLC, I2C, SPI, CANBus, flash memory, UARTs, disk controllers, Compact Flash, PCI and many devices. MQX includes specific features that simplify the development and integration of your own device drivers. Device driver source code is provided with an MQX BSP.