/** \page rtos_revisionHistory Revision History \section GenRTOS2Rev CMSIS-RTOS API Version 2 fv
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.
\section RTX5RevisionHistory CMSIS-RTOS RTX Version 5
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
*/