Keil Logo


Learning Platform

CMSIS-RTOS RTX is a royalty-free, deterministic real-time operating system implementing the CMSIS-RTOS API, a generic RTOS interface for Cortex-M processor-based devices. Keil RTX version 4 implements CMSIS-RTOS v1, whereas Keil RTX 5 implements the latest CMSIS-RTOS v2 API.

Modern microcontroller applications frequently have to serve several concurrent activities. RTX manages the switching between the activities. Each activity gets a separate thread which executes a specific task and to simplify the program structure. CMSIS-RTOS RTX is scalable and additional threads can be added easily at a later time. Threads have a priority allowing faster execution of time-critical parts of a user application.

CMSIS-RTOS RTX offers services needed in many real-time applications, such as periodical activation of timer functions, memory management, and message exchange between threads with time limits.


What's new in CMSIS-RTOS v2 and Keil RTX v5?

The new CMSIS-RTOS API v2 addresses new requirements such as dynamic object creation, support for ARMv8-M, and full support of C++ run-time environments. This webinar recording compares the CMSIS-RTOS API versions and shows how to utilize the new features in Keil RTX5, the first real-time operating system that implements the new API as its native RTOS interface for ARM Cortex-M processor-based devices.


Included in MDK Version 5 - No additional cost to use a commercial level RTOS.
CMSIS-RTOS RTX (including source code) is shipped with Keil MDK Version 5. This full-featured, commercial grade RTOS is fully configurable and has no restrictions. It is shipped under the permissive Apache 2.0 license and is fully developed on GitHub.

Easy to Use - Reduced learning curve, faster product development.
CMSIS-RTOS RTX is well supported within the µVision IDE/Debugger, which features RTX aware tools enabling you to quickly debug your RTX applications.

Safe and Secure - Reliable and secure operation.
  • CMSIS-RTOS RTX is PSA certified and naturally integrates with Platform Security Architecture API.
  • There is a safety-certified variant of CMSIS-RTOS RTX available as part of Arm Run-Time System for functional safety applications (FuSa RTS).



TUV-certified Arm Safety Run-Time System

Royalty-Free - No on-going costs.
There are no run-time royalty payments or other hidden charges. Ship your RTX based products without further fees or recurring costs.

Flexible Scheduling - Choose the best scheduling for your application.
CMSIS-RTOS RTX offers various kernel scheduling options, allowing you to use the best suited one in your application.

  • Pre-emptive - each thread has a different priority and will run until a higher priority thread is ready to run. This is commonly used in interactive systems where a device may be in standby or background mode until some input is sent to it.
  • Round-Robin - each thread will run for a fixed period of CPU run-time (time slice). Data loggers/system monitors typically employ round-robin scheduling, to sample all sensors or data-sources in turn with no prioritization.
  • Co-operative - each thread will run until it is told to pass control to another thread or reaches a blocking OS call. Co-operative multi-tasking can be seen in applications that require a fixed order of execution.

Deterministic Behavior - Known behavior for time critical tasks.
CMSIS-RTOS RTX delivers fully deterministic behavior meaning that events and interrupts are handled within a predefined time (deadline). Your application can rely on consistent and known process timings.

Designed for Embedded Systems - Uses the minimum amount of system memory.
CMSIS-RTOS RTX is specifically written for applications running on ARM Cortex-M based MCUs. It runs quickly and requires only minimal MCU resources with a memory footprint as small as 5KB (ROM).

Source Code Access - Useful for certification.
The source code is included in all MDK editions. Use it if your product requires certification.

Migration Paths

Keil RTX5 is a new implementation that natively supports the CMSIS-RTOS v2 API. Using a compatibility layer provides CMSIS-RTOS v1 API compliance. You can even intermix both API layers in the same project.

Keil RTX5 Compatibility Layer
  Arm logo
Important information

This site uses cookies to store information on your computer. By continuing to use our site, you consent to our cookies.

Change Settings

Privacy Policy Update

Arm’s Privacy Policy has been updated. By continuing to use our site, you consent to Arm’s Privacy Policy. Please review our Privacy Policy to learn more about our collection, use and transfers
of your data.