| 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
Overview

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.
- The underlying RTOS kernel may be changed. This gives you the freedom to choose the RTOS that best fits the requirements.
- 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 BSD license and can be freely distributed with project templates.

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

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

CMSIS-RTOS RTX Structure

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 RTX CMSIS-RTOS for the user application. Refer to Using CMSIS-RTOS RTX for more information.

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

Attributes of the RTX CMSIS-RTOS implementation:

- Provides the complete functions specified for a CMSIS-RTOS with the exception of the function osWait.
- Interrupt Service Routines (ISR) may call most CMSIS-RTOS RTX functions.
- Configurations options for Thread Stack. Refer to Thread Stack and Processor Mode for more information.
- Fully deterministic context switching and deadlock avoidance. Refer to Priority Inversion on Resource Sharing for more information.
- Optional Round-Robin Thread switching with configurable time-slices. Refer to Thread Stack and Processor Mode for more information.

The following sections provide further details:

- Theory of Operation : provides general information about the operation of CMSIS-RTOS RTX.
- Directory Structure and File Overview : explains the directories and files that are supplied as part of CMSIS-RTOS RTX.
- Technical Data : lists hardware requirements and limitations such as number of concurrent threads.