CMSIS-RTOS RTX offers services needed in many real-time applications, such as periodical activation of timer functions, memory management, and message exchange between threads with time limits.
What's new in CMSIS-RTOS v2 and Keil RTX v5?
The new CMSIS-RTOS API v2 addresses new requirements such as dynamic object creation, support for ARMv8-M, and full support of C++ run-time environments. This webinar recording compares the CMSIS-RTOS API versions and shows how to utilize the new features in Keil RTX5, the first real-time operating system that implements the new API as its native RTOS interface for ARM Cortex-M processor-based devices.
Flexible Scheduling - Choose the best scheduling for your application.
Keil RTX5 offers various kernel scheduling options, allowing you to use the best suited one in your application.
- Pre-emptive - each thread has a different priority and will run until a higher priority thread is ready to run. This is commonly used in interactive systems where a device may be in standby or background mode until some input is sent to it.
- Round-Robin - each thread will run for a fixed period of CPU run-time (time slice). Data loggers/system monitors typically employ round-robin scheduling, to sample all sensors or data-sources in turn with no prioritization.
- Co-operative - each thread will run until it is told to pass control to another thread or reaches a blocking OS call. Co-operative multi-tasking can be seen in applications that require a fixed order of execution.
Deterministic Behavior - Known behavior for time critical tasks.
Keil RTX5 delivers fully deterministic behavior meaning that events and interrupts are handled within a predefined time (deadline). Your application can rely on consistent and known process timings.
Designed for Embedded Systems - Uses the minimum amount of system memory.
Keil RTX5 is specifically written for applications running on ARM Cortex-M based MCUs. It runs quickly and requires only minimal MCU resources with a memory footprint as small as 5KB (ROM).
Source Code - Useful for certification.
Keil RTX5 is publicly developed on GitHub. The source code is included in all MDK editions. Use it if your product requires certification.
Migration Paths
Keil RTX5 is a new implementation that natively supports the CMSIS-RTOS v2 API. Using a compatibility layer provides CMSIS-RTOS v1 API compliance. You can even intermix both API layers in the same project.