This manual describes the CMSIS-RTOS API Version 1 and the reference implementation CMSIS-RTOS RTX which is designed for Cortex-M processor-based devices. The RTOS 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 API 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 functions and macros that allow declaring tasks and accessing all RTOS features easily.
This manual contains the following sections:
- Revision History : Documents changes made in each version for CMSIS-RTOS API and RTX.
- Generic RTOS Interface : Provides an overview about the CMSIS-RTOS API.
- Using a CMSIS-RTOS Implementation : Provides generic instructions for using a CMSIS-RTOS API compliant implementation.
- Function Overview : Lists the CMSIS-RTOS API functions including RTX-specific extensions.
- RTOS Validation : Describes the Software Pack that can be used to validate a CMSIS-RTOS implementation.
- RTX Implementation : Documents the open-source implementation CMSIS-RTOS RTX.
- An extended version of the CMSIS-RTOS API is available in CMSIS-RTOS v2.
CMSIS-RTOS in ARM::CMSIS Pack
The following files relevant to CMSIS-RTOS are present in the ARM::CMSIS Pack directories:
|CMSIS/Documentation/RTOS2||CMSIS-RTOS API Version 2 documentation|
|CMSIS/RTOS/Template||Header File Template: cmsis_os.h|