Version | Description |
V2.2.0 | Added support for Process Isolation (Functional Safety):
Additional functions allowed to be called from Interrupt Service Routines:
|
V2.1.3 | Additional functions allowed to be called from Interrupt Service Routines:
|
V2.1.2 | Additional functions allowed to be called from Interrupt Service Routines:
|
V2.1.1 | Additional functions allowed to be called from Interrupt Service Routines:
Changed Kernel Tick type to uint32_t:
|
V2.1.0 | Support for critical and uncritical sections (nesting safe):
Updated Thread Flags and Event Flags:
- changed flags parameter and return type from int32_t to uint32_t
|
V2.0.0 | New API Version 2.0 available.
|
V1.02 - only documentation changes | Added: Overview of the CMSIS-RTOS Validation Software Pack.
Clarified: Behavior of Timeout Value. |
V1.02 | Added: New control functions for short timeouts in microsecond resolution osKernelSysTick, osKernelSysTickFrequency, osKernelSysTickMicroSec.
Removed: osSignalGet. fv |
V1.01 | Added capabilities for C++, kernel initialization and object deletion.
Prepared for C++ class interface. In this context to const attribute has been moved from osXxxxDef_t typedefs to the osXxxxDef macros.
Added: osTimerDelete, osMutexDelete, osSemaphoreDelete.
Added: osKernelInitialize that prepares the kernel for object creation.
|
V1.00 | First official Release.
Added: osKernelStart; starting 'main' as a thread is now an optional feature.
Semaphores have now the standard behavior.
osTimerCreate does no longer start the timer. Added: osTimerStart (replaces osTimerRestart).
Changed: osThreadPass is renamed to osThreadYield. |
V0.02 | Preview Release. |
Version | Description |
V5.7.0 |
- Based on CMSIS-RTOS API V2.2.0.
- Added support for Process Isolation: MPU Protected Zones, Safety Classes, Thread Watchdogs.
- Reduced component variants: Library (Library_NS replacement), Source (Source_NS replacement).
|
V5.5.5 |
- Added de-allocation of Arm C library thread data (libspace) when thread is terminated.
- Updated SysTick implementation for OS Tick (initial count value).
- Added Thread Entry wrapper (compatible with GDB stack unwind).
|
V5.5.4 |
- Fixed potential register R1 corruption when calling OS functions from threads multiple times with same arguments (when using high level compiler optimizations).
- Fixed timer interval when periodic timer is restarted.
- Added Floating-point initialization for Arm C Library.
- Minor code optimizations in osMessageQueuePut/Get.
|
V5.5.3 |
- CVE-2021-27431 vulnerability mitigation.
- Added OS Initialization for IAR.
- Fixed osDelay/osDelayUntil error handling.
- Fixed Round-Robin (timeout value is not reset when switching to higher priority threads).
- Fixed osThreadJoin (when terminating thread which is waiting to be joined).
- Fixed Message Queue Data allocation size when using object specific memory allocation.
- Fixed Mutex priority inversion (when mixing mutexes with and without priority inherit).
- Enhanced stack overrun checking.
- Updated osKernelResume handling (processing past sleep ticks).
- Updated configuration (Event Recorder).
- Reorganized and optimized IRQ modules.
|
V5.5.2 |
- Added support for Cortex-M55.
- Fixed thread priority restore on mutex acquire timeout (when priority inherit is used).
- Enhanced support for Armv8-M (specifying thread TrustZone module identifier is optional).
- Updated configuration default values (Global Dynamic Memory and Thread Stack).
|
V5.5.1 |
- Fixed osMutexRelease issue (thread owning multiple mutexes).
- Improved osThreadJoin robustness (user programing errors).
|
V5.5.0 |
- Updated and enhanced generated events (reorganized components).
- Updated configuration (Event Recorder).
- Updated Component Viewer (improved performance).
- Minor code optimizations.
|
V5.4.0 |
- Based on CMSIS-RTOS API V2.1.3.
- Added support for Event Recorder initialization and filter setup.
- Added support to use RTOS as Event Recorder Time Stamp source.
- Fixed osDelayUntil longest delay (limited to 2^31-1).
- Fixed optimization issue when using GCC optimization level 3.
- Fixed osMemoryPoolAlloc to avoid potential race condition.
- Restructured exception handling for Cortex-A devices.
- Minor code optimizations (removed unnecessary checks).
|
V5.3.0 |
- Added Object Memory usage counters.
- Added support for additional external configuration file.
- Added user configurable names for system threads (Idle and Timer).
- Added support for OS sections when using ARMCC5.
- Added callback for MPU integration (experimental)
- Increased default thread stack sizes to 256 bytes.
- Fixed stack context display for running thread in SCVD.
- Enhanced MISRA Compliance.
|
V5.2.3 |
- Based on CMSIS-RTOS API V2.1.2.
- Added TrustZone Module Identifier configuration for Idle and Timer Thread.
- Moved SVC/PendSV handler priority setup from osKernelInitialize to osKernelStart (User Priority Grouping can be updated after osKernelInitialize but before osKernelStart).
- Corrected SysTick and PendSV handlers for ARMv8-M Baseline.
- Corrected memory allocation for stack and data when "Object specific Memory allocation" configuration is used.
- Added support for ARMv8-M IAR compiler.
|
V5.2.2 |
- Corrected IRQ and SVC exception handlers for Cortex-A.
|
V5.2.1 |
- Corrected SysTick and SVC Interrupt Priority for Cortex-M.
|
V5.2.0 |
- Based on CMSIS-RTOS API V2.1.1.
- Added support for Cortex-A.
- Using OS Tick API for RTX Kernel Timer Tick.
- Fixed potential corruption of terminated threads list.
- Corrected MessageQueue to use actual message length (before padding).
- Corrected parameters for ThreadEnumerate and MessageQueueInserted events.
- Timer Thread creation moved to osKernelStart.
|
V5.1.0 |
- Based on CMSIS-RTOS API V2.1.0.
- Added support for Event recording.
- Added support for IAR compiler.
- Updated configuration files: RTX_Config.h for the configuration settings and RTX_config.c for implementing the RTX v5 Specific API.
- osRtx name-space for RTX specific symbols.
|
V5.0.0 | Initial release compliant to CMSIS-RTOS2.
|