Keil RTX5 Real-Time Operating System
No Matches

Keil RTX version 5 (RTX5) is a real-time operating system (RTOS) for Arm Cortex-M and Cortex-A processor-based devices that implements the CMSIS-RTOS2 API as its native interface.

The following sections provide further details:

Access to CMSIS-RTX

CMSIS-RTX kernel is actively maintained in CMSIS-RTX GitHub repository and is also provided as a standalone CMSIS-RTX pack in the CMSIS-Pack format.


The table below explains the content of the ARM::CMSIS-RTX Pack.

File/Directory Content
📂 Config RTX configuration files RTX_Config.h and RTX_Config.c
📂 Documentation A local copy of this documentation
📂 Examples Example projects (MDK uVision and CMSIS-Toolbox)
📂 Include Public header files of RTX software component
📂 Library Library project files and pre-built libraries
📂 Source Private header and source files of RTX software component
📂 Template User code templates for creating application projects with CMSIS-RTX
📄 ARM.CMSIS-RTX.pdsc Pack description file in CMSIS-Pack format
📄 LICENSE License Agreement (Apache 2.0)
📄 RTX5.scvd SCVD file for RTOS-aware debugging with Component Viewer and Event Recorder

See CMSIS Documentation for an overview of CMSIS software components, tools and specifications.

Security Considerations

RTX5 has not been designed with strong security considerations in mind. The implementation has a focus on high code quality assured by applying coding rules according to MISRA-C:2012 and checking compliance using CodeQL. The analysis results are published on GitHub Code scanning page.

Users of RTX5 are strongly advised to run security analysis for their applications if any kind of exposure is given. The main security assumption made for RTX5 is no untrusted code is ever executed on a device. This assumption is expected to apply to the vast majority of use cases of an embedded RTOS like RTX5.

For use cases (such as firmware update) where the firmware image (or parts of it) can be modified/updated by an untrusted user, the application developer must implement appropriate security measures to prevent execution of untrusted code.

For use cases where executing untrusted code is required (like customizable plugins), the application developer must carfully analyze the execution sandbox boundaries. Given that untrusted code is executed within an unprivileged RTX5 thread, it must be assured that no RTOS operation can be used to run untrusted code as part of a service call nor interrupt routine, see Safety features (Source variant only).


CMSIS-RTX is provided free of charge by Arm under the Apache 2.0 License.