MQX Real-Time Operating System (RTOS)
The MQX Real Time Operating System (RTOS) provides real-time performance within a small, configurable footprint. The RTOS is tightly integrated with 32-bit MCUs and MPUs from NXP and is provided with commonly used device drivers.
The MQX RTOS is designed to have a modern, component-based microkernel architecture allowing for customization by feature, size, and speed by selecting the components engineers wish to include while meeting the tight memory constraints of embedded systems.
Its configurable size conserves memory space taking as little as 6 KB of ROM, including its kernel, interrupts, semaphores, queues and a memory manager.
MQX RTOS includes a TCP/IP stack (RTCS), embedded MS-DOS file system (MFS), USB Host/Device Stack, as well as Design, Task-Aware debugging (TAD), Remote debugging and performance analysis tools. It is supported by popular SSL/TLS libraries such as wolfSSL for increased security measures.
MQX RTOS is generally used in embedded systems. MQX development is done on a “host” machine running Unix or Windows, cross-compiling target software to run on various “target” CPU architectures.
MQX RTOS has been ported to a number of platforms and now runs on practically any modern CPU that is used in the embedded market. This includes Kinetis, ColdFire, PowerPC, ARC, ARM, StrongARM, xScale CPUs.
All new Kinetis (ARM – CortexM4) and ColdFire devices are to be enabled with complimentary Freescale MQX RTOS. Freescale plans to expand the availability of this complimentary integrated enablement software to include many embedded processors in its broad portfolio.
Small Code Density
The MQX RTOS can be configured to take as little as 8 KB of ROM and 2.5K RAM on Arm ® Cortex M4, including kernel, 2 task applications,1 LW Semaphore, interrupt stack, queues, and memory manager.
Provides a fully-functional RTOS core with additional, optional services. Components are linked in only if needed, preventing unused functions from bloating the memory footprint.
Full and Lightweight Components
Key components are included in both full and lightweight versions for further control of size, RAM/ROM utilization and performance options.
Real-time, Priority-based Preemptive, Multithreading
Priority-based preemptive scheduling allows high-priority threads to meet their deadlines consistently, no matter how many other threads are competing for CPU time.
Optimized for NXP Architecture
Optimized assembly code to accelerates key real-time portions of the RTOS such as context switching.
MQX RTOS provides the developer faster development time by relieving engineers from create or maintain an efficient scheduling system and interrupt handling. It is also significantly useful if one requires the use of multiple communication protocols like USB or TCP/IP.
MQX RTOS provides a framework with a simple API to build and organize the features across NXP’s broad portfolio of embedded processors.
Writing code for MQX RTOS is straight forward with a complete API and available reference documentation.
Fast Boot Sequence
A fast boot sequence ensures the application is running quickly after the hardware has been reset.
Simple Message Passing
Messages can be easily passed between tasks running on the same CPU or even a different CPU in the system.
Recommended: IoT OS and RTOS for Internet of Things devices
Thanks for reading. If you like this post probably you might like my next ones, so please support me by subscribing my blog.
We have other tutorials with ESP32 that you may find useful:
- Dynamic WLAN configuration for ESP32 Board | AutoConnect
- ESP32 BLE on Arduino IDE with UART Test
- ESP32 Bluetooth Low Energy (BLE) on Arduino IDE
- ArduinoOTA ESP32: Wi-Fi (OTA) Wireless Update from the Arduino IDE
- ESP32 with LoRa using Arduino IDE
- How To Use Grove-LCD RGB Backlight with NodeMCU
- NodeMcu to DHT Interface in Blynk app
- How To ON/OFF a bulb by Google voice assistant
- Arduino IDE | Arduino | Open Source Hardware/Softawre | Arduino Vs RPi
- WiFi LoRA 32 (V2) ESP32 | Overview | Introduction
- DHT11 sensor with ESP8266/NodeMCU using Arduino IDE
- Arduino Support for ESP8266 with simple test code
You may like also: