Comparing microcontroller real-time operating systems
Sergey Kolesnik, Telecard-Pribor Ltd.
embedded.com (December 8, 2013)
Many larger microprocessor (MPU) designs are built using embedded Linux. Real-time operating systems (RTOSes) are used only in cases where hard real-time performance is required. Regardless of the MPU operating system - either embedded Linux or an MPU RTOS - all use POSIX as the standard for application programming interface (API) calls. Larger operating systems such as Windows and desktop Linux also support these same API calls.
Microcontrollers (MCUs) have reached the point where most are capable of running an operating system, but none can run Linux, Linux variants, or Windows due to the resources required. The developers of small MPU and MCU systems have no choice but to run bare metal or run an RTOS because they can't run Linux. This article discusses the various options I use for MCU RTOS selection and the criteria by which this selection might be made.
The first choice to be made is whether the application needs a full RTOS or just the kernel component. A kernel is not an RTOS, but this can be a confusing issue because of the inappropriate naming chosen for some popular kernels, ‘freeRTOS’ for example.
An RTOS includes the kernel component, which provides scheduling, communication and synchronization, timers, and interrupt handling. In addition, the RTOS provides an I/O mechanism, which presumably offers uniform access to devices, software stacks for a broad set of connectivity options, file systems, display options, off the shelf examples, documentation, and tools for debugging applications running on the RTOS.
To read the full article, click here
Related Semiconductor IP
- HBM4 PHY IP
- Ultra-Low-Power LPDDR3/LPDDR2/DDR3L Combo Subsystem
- MIPI D-PHY and FPD-Link (LVDS) Combinational Transmitter for TSMC 22nm ULP
- HBM4 Controller IP
- IPSEC AES-256-GCM (Standalone IPsec)
Related Articles
- Android, Linux and Real-Time Development for Embedded Systems
- Managing power in embedded applications using dual operating systems
- xLuna: a Real-Time, Dependable Kernel for Embedded Systems
- Cortex M-3 microcontrollers and the RTX real-time kernel
Latest Articles
- A 14ns-Latency 9Gb/s 0.44mm² 62pJ/b Short-Blocklength LDPC Decoder ASIC in 22FDX
- Pipeline Stage Resolved Timing Characterization of FPGA and ASIC Implementations of a RISC V Processor
- Lyra: A Hardware-Accelerated RISC-V Verification Framework with Generative Model-Based Processor Fuzzing
- Leveraging FPGAs for Homomorphic Matrix-Vector Multiplication in Oblivious Message Retrieval
- Extending and Accelerating Inner Product Masking with Fault Detection via Instruction Set Extension