Software & Tools
MQX-EP & MQX RTOS
Deploy with Operating Systems Optimized for ARC IP
MQX Software has helped leading companies bring embedded products to market for nearly 20 years. During this time, developers have come to rely on the way the MQX Real-Time Operating System (RTOS) and other MQX software products work with their tools to help them keep on schedule. The MQX RTOS offers a highly optimized application development platform for ARC processors designed for speed and size efficiency. The MQX RTOS is at the center of a wide array of MQX software protocol stacks, file systems and other run-time components, all compatible with the MQX RTOS that enhance the capabilities of today's advanced embedded devices.
ARC recently updated the MQX product family with the MQX-EP RTOS, optimized for ARC Energy PRO IP cores and subsystems. MQX-EP adds new features to control power at a fine-grained level, even down to individual threads.
Content On This Page
| Benefits | MQX Diagram |
MQX RTOS | MQX-EP and Energy PRO |
|
MQX-EP and MQX RTOS | MQX Host Tools for Windows |
Benefits
- Choose from MQX and MQX-EP RTOSs - pre-optimized for ARC IP subsytems and cores
- Easily enable Energy PRO power management capabilities with MQX-EP
- Minimize risk by taking advantage of ARC's excellent support and services
- Parallelize hardware and software development with integrated co-design and simulation tools
top
MQX Diagram

Click for larger view.
top
Use the MQX RTOS Instead of a Scheduler
At less than 6 KB in size, the MQX RTOS is small enough to use instead of a homegrown scheduler while still providing advanced features.
| Architecture |
Minimum
Code Size* |
Context Switch Time |
Interrupt Latency |
| ARC 600 |
5.2 kB |
6.79 μs
(Measured on 60 MHz FPGA, no caches) |
4.13 μs
(Measured on 24 MHz FPGA, 2K caches) |
2.0 μs
(200 MHz est.) |
1.2 μs
(200 MHz est.) |
| ARC 700 |
5.3 kB |
2.09 μs
(Measured on 95 MHz FPGA, 32K caches) |
1.59 μs
(Measured on 95 MHz FPGA, 32K caches) |
0.40 μs
(500 MHz est.) |
0.30 μs
(500 MHz est.) |
* Includes – interrupt handler, scheduler, memory manager, micro-kernel, task
management, time management, processor and board support package
top
MQX-EP for ARC Energy PRO Cores and Subsystems
MQX-EP contains all of the features of ARC’s MQX RTOS and adds new features that allow software developers to exploit the full power-saving capability of the Energy PRO processor cores. MQX-EP provides a software API that allows designers to program Energy PRO’s power management unit and optimize the power settings for a given application.
In additional to its power management features MQX-EP’s small memory footprint saves power by reducing the amount of system memory needed. With a code footprint that can be configured to under 10 KB and equally small data memory requirements, MQX-EP is the smallest power management RTOS for 32-bit processor cores. Even with such a small configuration, MQX-EP maintains a high level of features and functionality for the use of software developers. The low overhead of MQX-EP allows developers to take advantage of the benefits of using a RTOS without a significant performance or memory overhead.
Highlights
- Easy-to-use development environment for low power applications
- Provides software interface for Energy PRO power management features
- Automatic DVFS mode intelligently controls features of the Energy PRO Power Management Unit (PMU)
- Allows control of power-down options and Dynamic Voltage and Frequency Scaling (DVFS)
- Dynamically adjusts RTOS timer period to enable longer power down cycles
- MetaWare MQX-aware debugging displays power management related information
- Logging and display of Energy PRO PMU events and energy usage can be used to fine tune PMU settings
- MQX-EP software provided with examples of how the software can be used to save energy
top
Extend Battery Life with MQX-EP and Energy PRO
MQX-EP Energy PRO features can be used in a number ways. MQX-EP allows the programmer to control the Energy PRO power management unit with a set of APIs that can configure the power down options and Dynamic Voltage and Frequency Scaling (DVFS). Application idle time can be spent in power down mode to provide significant power savings over running in a scheduler idle loop. MQX-EP’s automatic DVFS mode can also be used to intelligently control power settings of the Energy PRO PMU. In this mode, MQX-EP adjusts power settings based on thread profiles and run-time workload. Developers provide parameters and thresholds that determine when the RTOS will make power adjustments. MQX-EP also logs PMU events for power analysis with MQX profiling tools. Using these features developers can optimize the power setting to use the minimum amount of power for their applications.
Below is an example of MQX-EP used with an Energy PRO core for a data processing application. MQX-EP has been configured to switch DVFS mode based on data traffic. The resulting energy used in less than one sixth of the energy that would be used without Energy PRO and MQX-EP power management.

Click for larger view.
When used with ARC MetaWare software development tools and the MQX Host Tools, MQX-EP integrates tightly into a complete development environment. The powerful MetaWare debugger and instruction set simulator support Energy PRO functionality to profile energy usage data so programmers can adjust their MQX-EP and application configurations. The MQX Host tools include Energy PRO-aware features that allow tracking of PMU event and energy usage estimations.
MQX Performance Tool with Power Management Analysis

top
MQX-EP and MQX RTOS Processor and Board Support
The MQX-EP RTOS is available for ARC Energy PRO cores. The MQX RTOS is available for the full range of ARC 600 and ARC 700 configurable processors. End-users can easily configure the MQX RTOS to support any configuration.
Board Support Packages (BSPs) are available for the ARCangel 4 FPGA development system as well as the MetaWare Instruction Set Simulator. Users can modify MQX RTOS BSPs easily to support changes in the user’s ARC-based™ SoC configuration.
top
MQX Host Tools for Windows
The MQX RTOS also comes with the MQX Host Tools. This set of advanced Windows-hosted embedded development tools includes:
- MQX Task Aware Debugging (TAD) for MetaWare - provided as a plug-in to the MetaWare Debugger, TAD provides intimate details of the embedded system, including viewing data structures, getting task summaries, viewing contents of specific tasks, and working with queues, messages, semaphores, memory and memory partitions
- EDS client - allows many of the same task-aware-debugging features as TAD without a standalone debugger, using a TCP/IP or serial connection with a running target
- Performance Tool - analyzes application execution and performance from the perspective of the RTOS (and the MQX RTCS™ Internet stack, if present), generating detailed actionable performance information from kernel logs, with full visibility into state transitions, events, mutexes, messages, semaphores, clock, scheduler task creation/destruction, interrupts and RTCS calls
- Design Tool - GUI-based source-generation tool for rapid prototyping to quickly create applications using MQX RTOS and RTCS functionality
ARC also offers the following enhancements to the MQX-EP and MQX RTOS, allowing higher-level functionality approaching that of a high-level operating system:
- MQX Microsoft-compatible File System (MFS) - a portable, compatible implementation of the Microsoft MS-DOS file system. Provides a library of MS-DOS-compatible file-system functions for embedded applications.
- MQX Portable Embedded GUI (PEG) Library - a professional quality graphical user interface library. MQX PEG is small, fast, and easily ported to virtually any hardware configuration capable of supporting graphical output. PEG delivers exceptional visual appeal and an intuitive and powerful API for application-level user interface development.
top
|