2 \page rtos_revisionHistory Revision History
4 \section GenRTOS2Rev CMSIS-RTOS API Version 2
6 <table class="cmtable" summary="Revision History">
14 Additional functions allowed to be called from Interrupt Service Routines:
21 Additional functions allowed to be called from Interrupt Service Routines:
22 - \ref osKernelGetInfo, \ref osKernelGetState
28 Additional functions allowed to be called from Interrupt Service Routines:
29 - \ref osKernelGetTickCount, \ref osKernelGetTickFreq
31 Changed Kernel Tick type to uint32_t:
32 - updated: \ref osKernelGetTickCount, \ref osDelayUntil
38 Support for critical and uncritical sections (nesting safe):
39 - updated: \ref osKernelLock, \ref osKernelUnlock
40 - added: \ref osKernelRestoreLock
42 Updated \ref CMSIS_RTOS_ThreadFlagsMgmt "Thread Flags" and \ref CMSIS_RTOS_EventFlags "Event Flags":
43 - changed flags parameter and return type from int32_t to uint32_t
49 New API Version 2.0 available.
50 - See \ref rtos_api2 for a detailed function reference.
51 - See \ref os2Migration for details on the migration process from API Version 1.
55 <td>V1.02 - only documentation changes</td>
57 Added: Overview of the \ref rtosValidation "CMSIS-RTOS Validation" Software Pack.\n
58 Clarified: Behavior of \ref CMSIS_RTOS_TimeOutValue.
63 <td>Added: New control functions for short timeouts in microsecond resolution \b osKernelSysTick,
64 \b osKernelSysTickFrequency, \b osKernelSysTickMicroSec.\n
70 <td>Added capabilities for C++, kernel initialization and object deletion.\n
71 Prepared for C++ class interface. In this context to \em const attribute has been moved from osXxxxDef_t typedefs to
72 the osXxxxDef macros.\n
73 Added: \ref osTimerDelete, \ref osMutexDelete, \ref osSemaphoreDelete.\n
74 Added: \ref osKernelInitialize that prepares the kernel for object creation.\n
80 <td>First official Release.\n
81 Added: \ref osKernelStart; starting 'main' as a thread is now an optional feature.\n
82 Semaphores have now the standard behavior.\n
83 \b osTimerCreate does no longer start the timer. Added: \ref osTimerStart (replaces osTimerRestart).\n
84 Changed: osThreadPass is renamed to \ref osThreadYield.
89 <td>Preview Release.</td>
94 \section RTX5RevisionHistory CMSIS-RTOS RTX Version 5
96 <table class="cmtable" summary="Revision History">
104 - Fixed potential register R1 corruption when calling OS functions from threads multiple times with same arguments (when using high level compiler optimizations).
105 - Fixed timer interval when periodic timer is restarted.
106 - Added Floating-point initialization for Arm C Library.
107 - Minor code optimizations in osMessageQueuePut/Get.
113 - CVE-2021-27431 vulnerability mitigation.
114 - Added OS Initialization for IAR.
115 - Fixed osDelay/osDelayUntil error handling.
116 - Fixed Round-Robin (timeout value is not reset when switching to higher priority threads).
117 - Fixed osThreadJoin (when terminating thread which is waiting to be joined).
118 - Fixed Message Queue Data allocation size when using object specific memory allocation.
119 - Fixed Mutex priority inversion (when mixing mutexes with and without priority inherit).
120 - Enhanced stack overrun checking.
121 - Updated osKernelResume handling (processing past sleep ticks).
122 - Updated configuration (Event Recorder).
123 - Reorganized and optimized IRQ modules.
129 - Added support for Cortex-M55.
130 - Fixed thread priority restore on mutex acquire timeout (when priority inherit is used).
131 - Enhanced support for Armv8-M (specifying thread TrustZone module identifier is optional).
132 - Updated configuration default values (Global Dynamic Memory and Thread Stack).
138 - Fixed osMutexRelease issue (thread owning multiple mutexes).
139 - Improved osThreadJoin robustness (user programing errors).
145 - Updated and enhanced generated events (reorganized components).
146 - Updated configuration (Event Recorder).
147 - Updated Component Viewer (improved performance).
148 - Minor code optimizations.
154 - Based on CMSIS-RTOS API V2.1.3.
155 - Added support for Event Recorder initialization and filter setup.
156 - Added support to use RTOS as Event Recorder Time Stamp source.
157 - Fixed osDelayUntil longest delay (limited to 2^31-1).
158 - Fixed optimization issue when using GCC optimization level 3.
159 - Fixed osMemoryPoolAlloc to avoid potential race condition.
160 - Restructured exception handling for Cortex-A devices.
161 - Minor code optimizations (removed unnecessary checks).
167 - Added Object Memory usage counters.
168 - Added support for additional external configuration file.
169 - Added user configurable names for system threads (Idle and Timer).
170 - Added support for OS sections when using ARMCC5.
171 - Added callback for MPU integration (experimental)
172 - Increased default thread stack sizes to 256 bytes.
173 - Fixed stack context display for running thread in SCVD.
174 - Enhanced MISRA Compliance.
180 - Based on CMSIS-RTOS API V2.1.2.
181 - Added TrustZone Module Identifier configuration for Idle and Timer Thread.
182 - Moved SVC/PendSV handler priority setup from osKernelInitialize to osKernelStart (User Priority Grouping can be updated after osKernelInitialize but before osKernelStart).
183 - Corrected SysTick and PendSV handlers for ARMv8-M Baseline.
184 - Corrected memory allocation for stack and data when "Object specific Memory allocation" configuration is used.
185 - Added support for ARMv8-M IAR compiler.
191 - Corrected IRQ and SVC exception handlers for Cortex-A.
197 - Corrected SysTick and SVC Interrupt Priority for Cortex-M.
203 - Based on CMSIS-RTOS API V2.1.1.
204 - Added support for Cortex-A.
205 - Using OS Tick API for RTX Kernel Timer Tick.
206 - Fixed potential corruption of terminated threads list.
207 - Corrected MessageQueue to use actual message length (before padding).
208 - Corrected parameters for ThreadEnumerate and MessageQueueInserted events.
209 - Timer Thread creation moved to osKernelStart.
215 - Based on CMSIS-RTOS API V2.1.0.
216 - Added support for Event recording.
217 - Added support for IAR compiler.
218 - Updated configuration files: RTX_Config.h for the configuration settings and RTX_config.c for implementing the \ref rtx5_specific.
219 - osRtx name-space for RTX specific symbols.
225 Initial release compliant to CMSIS-RTOS2.\n