| CMSIS-RTOS RTX Version 4.51 CMSIS-RTOS RTX: Real-Time Operating System for Cortex-M processor-based devices

- RTX

- Main Page
- Usage and Description
- Reference

All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
CMSIS-RTOS compliant Kernel

This manual describes the CMSIS-RTOS implementation based on the Keil RTX Real-Time Operating System which is designed for Cortex-M processor-based devices. The RTX kernel can be used for creating applications that perform multiple tasks simultaneously. These tasks are executed by threads that operate in a quasi-parallel fashion.

While it is certainly possible to create real-time applications without an RTOS (by executing one or more tasks in a loop), there are numerous scheduling, maintenance, and timing issues that can be solved better with an RTOS. For example, an RTOS enables flexible scheduling of system resources like CPU and memory, and offers methods to communicate between threads.

CMSIS-RTOS RTX programs are written using standard C/C++ constructs and are compiled with the ARMCC, GCC, or IAR Compiler. The CMSIS-OS.H header file defines the RTX functions and macros that allow declaring tasks and accessing all RTOS features easily.

This manual contains the following sections:

- Overview : Provides an overview about the CMSIS-RTOS RTX and technical specifications.
- Configuration of CMSIS-RTOS RTX : Describes configuration parameters of CMSIS-RTOS RTX.
- Using CMSIS-RTOS RTX : Provides instructions for writing and debugging applications with CMSIS-RTOS RTX.
- Function Overview : Describes the RTX functions that are defined by the CMSIS-RTOS API.

## Revision History of RTX

Version | Description
--- | ---
V4.61 | Enhanced: osTimerCreate can now be called after osKernelInitialize (before only after osKernelStart). | Corrected: Initialization of alternative kernel timer for Cortex-M0/M0+/M1 (when SysTick timer is not used). | Corrected: Message/Mail Queue behaviour when timeout expires.
V4.51 | Corrected: problem with osKernelInitialize when after the call high priority threads are defined.
V4.50 | Based on CMSIS-RTOS API Version 1.01 and the classic RTX V4.50 Kernel. Added: osTimerDelete, osMutexDelete, osSemaphoreDelete. Added: osKernelInitialize that prepares the Kernel for object creation. Added: support for Low Power Cortex-M applications based on new configuration functions: os_suspend, os_resume. Added: support for peripheral timer to be used as OS tick timer instead of Core SysTick timer. Corrected: stack checking did not work for os_tsk_delete_self function Preview Release.
V4.20 | Initial CMSIS-RTOS adaption of the RTX Kernel.