]> begriffs open source - cmsis/blob - CMSIS/DoxyGen/RTOS2/src/history.txt
Doxygen: fixed incorrect link
[cmsis] / CMSIS / DoxyGen / RTOS2 / src / history.txt
1 /**
2 \page rtos_revisionHistory Revision History
3
4 \section GenRTOS2Rev CMSIS-RTOS API Version 2
5
6 <table class="cmtable" summary="Revision History">
7     <tr>
8       <th>Version</th>
9       <th>Description</th>
10     </tr>
11     <tr>
12       <td>V2.1.3</td>
13       <td>
14         Additional functions allowed to be called from Interrupt Service Routines:
15          - \ref osThreadGetId
16      </td>
17     </tr>
18     <tr>
19       <td>V2.1.2</td>
20       <td>
21         Additional functions allowed to be called from Interrupt Service Routines:
22          - \ref osKernelGetInfo, \ref osKernelGetState
23      </td>
24     </tr>
25     <tr>
26       <td>V2.1.1</td>
27       <td>
28         Additional functions allowed to be called from Interrupt Service Routines:
29          - \ref osKernelGetTickCount, \ref osKernelGetTickFreq
30          
31         Changed Kernel Tick type to uint32_t:
32          - updated: \ref osKernelGetTickCount, \ref osDelayUntil
33      </td>
34     </tr>
35     <tr>
36       <td>V2.1.0</td>
37       <td>
38         Support for critical and uncritical sections (nesting safe):
39          - updated: \ref osKernelLock, \ref osKernelUnlock
40          - added: \ref osKernelRestoreLock
41          
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
44      </td>
45     </tr>
46     <tr>
47       <td>V2.0.0</td>
48       <td>
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.
52      </td>
53     </tr>
54     <tr>
55       <td>V1.02 - only documentation changes</td>
56       <td>
57       Added: Overview of the \ref rtosValidation "CMSIS-RTOS Validation" Software Pack.\n
58       Clarified: Behavior of \ref CMSIS_RTOS_TimeOutValue.
59      </td>
60     </tr>
61     <tr>
62       <td>V1.02</td>
63       <td>Added: New control functions for short timeouts in microsecond resolution \b osKernelSysTick,
64       \b osKernelSysTickFrequency, \b osKernelSysTickMicroSec.\n
65       Removed: osSignalGet.
66      </td>
67     </tr>fv
68     <tr>
69       <td>V1.01</td>
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
75       </td>
76     </tr>
77     <tr>
78       <td>
79       V1.00</td>
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.
85       </td>
86     </tr>
87     <tr>
88       <td>V0.02</td>
89       <td>Preview Release.</td>
90     </tr>
91 </table>
92
93
94 \section RTX5RevisionHistory CMSIS-RTOS RTX Version 5
95
96 <table class="cmtable" summary="Revision History">
97     <tr>
98       <th>Version</th>
99       <th>Description</th>
100     </tr>
101     <tr>
102       <td>V5.5.4</td>
103       <td>
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.
108       </td>
109     </tr>
110     <tr>
111       <td>V5.5.3</td>
112       <td>
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.
124       </td>
125     </tr>
126     <tr>
127       <td>V5.5.2</td>
128       <td>
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).
133       </td>
134     </tr>
135     <tr>
136       <td>V5.5.1</td>
137       <td>
138        - Fixed osMutexRelease issue (thread owning multiple mutexes).
139        - Improved osThreadJoin robustness (user programing errors).
140       </td>
141     </tr>
142     <tr>
143       <td>V5.5.0</td>
144       <td>
145        - Updated and enhanced generated events (reorganized components).
146        - Updated configuration (Event Recorder).
147        - Updated Component Viewer (improved performance).
148        - Minor code optimizations.
149       </td>
150     </tr>
151     <tr>
152       <td>V5.4.0</td>
153       <td>
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).
162       </td>
163     </tr>
164     <tr>
165       <td>V5.3.0</td>
166       <td>
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.
175       </td>
176     </tr>
177     <tr>
178       <td>V5.2.3</td>
179       <td>
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.
186       </td>
187     </tr>
188     <tr>
189       <td>V5.2.2</td>
190       <td>
191        - Corrected IRQ and SVC exception handlers for Cortex-A.
192       </td>
193     </tr>
194     <tr>
195       <td>V5.2.1</td>
196       <td>
197        - Corrected SysTick and SVC Interrupt Priority for Cortex-M.
198       </td>
199     </tr>
200     <tr>
201       <td>V5.2.0</td>
202       <td>
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.
210       </td>
211     </tr>
212     <tr>
213       <td>V5.1.0</td>
214       <td>
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.
220       </td>
221     </tr>
222     <tr>
223       <td>V5.0.0</td>
224       <td>
225        Initial release compliant to CMSIS-RTOS2.\n
226       </td>
227     </tr>
228 </table>
229 */