CMSIS-RTOS  Version 1.03
Real-Time Operating System: API and RTX Reference Implementation.
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
RTX Implementation

This version of RTX implements the CMSIS-RTOS API, which is a generic RTOS interface for Cortex-M processor-based devices. The CMSIS-RTOS API provides a standardized interface for software components that require RTOS functionality. This RTX implementation gives therefore serious benefits to the users and the software industry.

  • The unified feature set of the CMSIS-RTOS API simplifies sharing of software components and reduces learning efforts.
  • Middleware components that use the CMSIS-RTOS API are RTOS agnostic and CMSIS-RTOS compliant middleware is easier to adapt.
  • This RTX implementation is available under the Apache-2.0 license and can be freely distributed with project templates.

The CMSIS-RTOS RTX manages the resources of the microcontroller system and implements the concept of parallel threads that run concurrently. There are many advantages of using the CMSIS-RTOS RTX kernel.

Applications frequently require several concurrent activities. RTX can manage multiple concurrent activities at the time when they are needed. Each activity gets a separate thread which executes a specific task and this simplifies the overall program structure. The CMSIS-RTOS RTX system 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 an user application.

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


Compared to the classic Keil RTX version, the CMSIS-RTOS RTX library is extended with the CMSIS API interface module (source file rt_cmsis.c) which implements the function translation. The header file cmsis_os.h provides the API to the CMSIS-RTOS RTX for the user application. Refer to Create an RTX Project for more information.

CMSIS-RTOS RTX has several options that are configured with the RTX_Conf_CM.c file. Refer to Configure RTX for more information.

Attributes of the CMSIS-RTOS RTX implementation:

The following sections provide further details: