/** \page rtos_revisionHistory Revision History \section GenRTOS2Rev CMSIS-RTOS API Version 2
Version | Description |
---|---|
V2.2.0 |
Added support for Process Isolation (Functional Safety):
- Kernel Management: \ref osKernelProtect, \ref osKernelDestroyClass
- Thread Management: \ref osThreadGetClass, \ref osThreadGetZone, \ref osThreadSuspendClass, \ref osThreadResumeClass, \ref osThreadTerminateZone, \ref osThreadFeedWatchdog, \ref osThreadProtectPrivileged - Thread attributes: \ref osThreadZone, \ref osThreadUnprivileged, \ref osThreadPrivileged - Object attributes: \ref osSafetyClass - Handler functions: \ref osWatchdogAlarm_Handler - Zone Management: \ref osZoneSetup_Callback - Exception Faults: \ref osFaultResume Additional functions allowed to be called from Interrupt Service Routines: - \ref osThreadGetName, \ref osEventFlagsGetName, \ref osTimerGetName, \ref osMutexGetName, \ref osSemaphoreGetName, \ref osMemoryPoolGetName, \ref osMessageQueueGetName |
V2.1.3 | Additional functions allowed to be called from Interrupt Service Routines: - \ref osThreadGetId |
V2.1.2 | Additional functions allowed to be called from Interrupt Service Routines: - \ref osKernelGetInfo, \ref osKernelGetState |
V2.1.1 | Additional functions allowed to be called from Interrupt Service Routines: - \ref osKernelGetTickCount, \ref osKernelGetTickFreq Changed Kernel Tick type to uint32_t: - updated: \ref osKernelGetTickCount, \ref osDelayUntil |
V2.1.0 | Support for critical and uncritical sections (nesting safe): - updated: \ref osKernelLock, \ref osKernelUnlock - added: \ref osKernelRestoreLock Updated \ref CMSIS_RTOS_ThreadFlagsMgmt "Thread Flags" and \ref CMSIS_RTOS_EventFlags "Event Flags": - changed flags parameter and return type from int32_t to uint32_t |
V2.0.0 | New API Version 2.0 available. - See \ref rtos_api2 for a detailed function reference. - See \ref os2Migration for details on the migration process from API Version 1. |
V1.02 - only documentation changes | Added: Overview of the \ref rtosValidation "CMSIS-RTOS Validation" Software Pack.\n Clarified: Behavior of \ref CMSIS_RTOS_TimeOutValue. |
V1.02 | Added: New control functions for short timeouts in microsecond resolution \b osKernelSysTick, \b osKernelSysTickFrequency, \b osKernelSysTickMicroSec.\n Removed: osSignalGet. |
V1.01 | Added capabilities for C++, kernel initialization and object deletion.\n Prepared for C++ class interface. In this context to \em const attribute has been moved from osXxxxDef_t typedefs to the osXxxxDef macros.\n Added: \ref osTimerDelete, \ref osMutexDelete, \ref osSemaphoreDelete.\n Added: \ref osKernelInitialize that prepares the kernel for object creation.\n |
V1.00 | First official Release.\n Added: \ref osKernelStart; starting 'main' as a thread is now an optional feature.\n Semaphores have now the standard behavior.\n \b osTimerCreate does no longer start the timer. Added: \ref osTimerStart (replaces osTimerRestart).\n Changed: osThreadPass is renamed to \ref 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 \ref rtx5_specific. - osRtx name-space for RTX specific symbols. |
V5.0.0 | Initial release compliant to CMSIS-RTOS2.\n |