]> begriffs open source - cmsis/blob - CMSIS/DoxyGen/RTOS2/src/history.txt
RTOS2: Functions osXxxGetName allowed to be called from Interrupt Service Routines
[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.2.0</td>
13       <td>
14         Added support for Process Isolation (Functional Safety):
15          - Kernel Management: \ref osKernelProtect, \ref osKernelDestroyClass
16          - Thread Management: \ref osThreadGetClass, \ref osThreadGetZone,<br>
17            \ref osThreadSuspendClass, \ref osThreadResumeClass, \ref osThreadTerminateZone,<br>
18            \ref osThreadFeedWatchdog, \ref osThreadProtectPrivileged
19          - Thread attributes: \ref osThreadZone, \ref osThreadUnprivileged, \ref osThreadPrivileged
20          - Object attributes: \ref osSafetyClass
21          - Handler functions: \ref osWatchdogAlarm_Handler
22          - Zone Management: \ref osZoneSetup_Callback
23          - Exception Faults: \ref osFaultResume
24
25         Additional functions allowed to be called from Interrupt Service Routines:
26          - \ref osThreadGetName, \ref osEventFlagsGetName, \ref osTimerGetName, \ref osMutexGetName, \ref osSemaphoreGetName, \ref osMemoryPoolGetName, \ref osMessageQueueGetName
27       </td>
28     </tr>
29     <tr>
30       <td>V2.1.3</td>
31       <td>
32         Additional functions allowed to be called from Interrupt Service Routines:
33          - \ref osThreadGetId
34      </td>
35     </tr>
36     <tr>
37       <td>V2.1.2</td>
38       <td>
39         Additional functions allowed to be called from Interrupt Service Routines:
40          - \ref osKernelGetInfo, \ref osKernelGetState
41      </td>
42     </tr>
43     <tr>
44       <td>V2.1.1</td>
45       <td>
46         Additional functions allowed to be called from Interrupt Service Routines:
47          - \ref osKernelGetTickCount, \ref osKernelGetTickFreq
48          
49         Changed Kernel Tick type to uint32_t:
50          - updated: \ref osKernelGetTickCount, \ref osDelayUntil
51      </td>
52     </tr>
53     <tr>
54       <td>V2.1.0</td>
55       <td>
56         Support for critical and uncritical sections (nesting safe):
57          - updated: \ref osKernelLock, \ref osKernelUnlock
58          - added: \ref osKernelRestoreLock
59
60         Updated \ref CMSIS_RTOS_ThreadFlagsMgmt "Thread Flags" and \ref CMSIS_RTOS_EventFlags "Event Flags":
61          - changed flags parameter and return type from int32_t to uint32_t
62      </td>
63     </tr>
64     <tr>
65       <td>V2.0.0</td>
66       <td>
67         New API Version 2.0 available. 
68          - See \ref rtos_api2 for a detailed function reference.
69          - See \ref os2Migration for details on the migration process from API Version 1.
70      </td>
71     </tr>
72     <tr>
73       <td>V1.02 - only documentation changes</td>
74       <td>
75       Added: Overview of the \ref rtosValidation "CMSIS-RTOS Validation" Software Pack.\n
76       Clarified: Behavior of \ref CMSIS_RTOS_TimeOutValue.
77      </td>
78     </tr>
79     <tr>
80       <td>V1.02</td>
81       <td>Added: New control functions for short timeouts in microsecond resolution \b osKernelSysTick,
82       \b osKernelSysTickFrequency, \b osKernelSysTickMicroSec.\n
83       Removed: osSignalGet.
84      </td>
85     </tr>fv
86     <tr>
87       <td>V1.01</td>
88       <td>Added capabilities for C++, kernel initialization and object deletion.\n
89       Prepared for C++ class interface. In this context to \em const attribute has been moved from osXxxxDef_t typedefs to
90       the osXxxxDef macros.\n
91       Added: \ref osTimerDelete, \ref osMutexDelete, \ref osSemaphoreDelete.\n
92       Added: \ref osKernelInitialize that prepares the kernel for object creation.\n
93       </td>
94     </tr>
95     <tr>
96       <td>
97       V1.00</td>
98       <td>First official Release.\n
99       Added: \ref osKernelStart; starting 'main' as a thread is now an optional feature.\n
100       Semaphores have now the standard behavior.\n
101       \b osTimerCreate does no longer start the timer. Added: \ref osTimerStart (replaces osTimerRestart).\n
102       Changed: osThreadPass is renamed to \ref osThreadYield.
103       </td>
104     </tr>
105     <tr>
106       <td>V0.02</td>
107       <td>Preview Release.</td>
108     </tr>
109 </table>
110
111
112 \section RTX5RevisionHistory CMSIS-RTOS RTX Version 5
113
114 <table class="cmtable" summary="Revision History">
115     <tr>
116       <th>Version</th>
117       <th>Description</th>
118     </tr>
119     <tr>
120       <td>V5.5.5</td>
121       <td>
122        - Added de-allocation of Arm C library thread data (libspace) when thread is terminated.
123        - Updated SysTick implementation for OS Tick (initial count value).
124        - Added Thread Entry wrapper (compatible with GDB stack unwind).
125       </td>
126     </tr>
127     <tr>
128       <td>V5.5.4</td>
129       <td>
130        - Fixed potential register R1 corruption when calling OS functions from threads multiple times with same arguments (when using high level compiler optimizations).
131        - Fixed timer interval when periodic timer is restarted.
132        - Added Floating-point initialization for Arm C Library.
133        - Minor code optimizations in osMessageQueuePut/Get.
134       </td>
135     </tr>
136     <tr>
137       <td>V5.5.3</td>
138       <td>
139        - CVE-2021-27431 vulnerability mitigation.
140        - Added OS Initialization for IAR.
141        - Fixed osDelay/osDelayUntil error handling.
142        - Fixed Round-Robin (timeout value is not reset when switching to higher priority threads).
143        - Fixed osThreadJoin (when terminating thread which is waiting to be joined).
144        - Fixed Message Queue Data allocation size when using object specific memory allocation.
145        - Fixed Mutex priority inversion (when mixing mutexes with and without priority inherit).
146        - Enhanced stack overrun checking.
147        - Updated osKernelResume handling (processing past sleep ticks).
148        - Updated configuration (Event Recorder).
149        - Reorganized and optimized IRQ modules.
150       </td>
151     </tr>
152     <tr>
153       <td>V5.5.2</td>
154       <td>
155        - Added support for Cortex-M55.
156        - Fixed thread priority restore on mutex acquire timeout (when priority inherit is used).
157        - Enhanced support for Armv8-M (specifying thread TrustZone module identifier is optional).
158        - Updated configuration default values (Global Dynamic Memory and Thread Stack).
159       </td>
160     </tr>
161     <tr>
162       <td>V5.5.1</td>
163       <td>
164        - Fixed osMutexRelease issue (thread owning multiple mutexes).
165        - Improved osThreadJoin robustness (user programing errors).
166       </td>
167     </tr>
168     <tr>
169       <td>V5.5.0</td>
170       <td>
171        - Updated and enhanced generated events (reorganized components).
172        - Updated configuration (Event Recorder).
173        - Updated Component Viewer (improved performance).
174        - Minor code optimizations.
175       </td>
176     </tr>
177     <tr>
178       <td>V5.4.0</td>
179       <td>
180        - Based on CMSIS-RTOS API V2.1.3.
181        - Added support for Event Recorder initialization and filter setup.
182        - Added support to use RTOS as Event Recorder Time Stamp source.
183        - Fixed osDelayUntil longest delay (limited to 2^31-1).
184        - Fixed optimization issue when using GCC optimization level 3.
185        - Fixed osMemoryPoolAlloc to avoid potential race condition.
186        - Restructured exception handling for Cortex-A devices.
187        - Minor code optimizations (removed unnecessary checks).
188       </td>
189     </tr>
190     <tr>
191       <td>V5.3.0</td>
192       <td>
193        - Added Object Memory usage counters.
194        - Added support for additional external configuration file.
195        - Added user configurable names for system threads (Idle and Timer).
196        - Added support for OS sections when using ARMCC5.
197        - Added callback for MPU integration (experimental)
198        - Increased default thread stack sizes to 256 bytes.
199        - Fixed stack context display for running thread in SCVD.
200        - Enhanced MISRA Compliance.
201       </td>
202     </tr>
203     <tr>
204       <td>V5.2.3</td>
205       <td>
206        - Based on CMSIS-RTOS API V2.1.2.
207        - Added TrustZone Module Identifier configuration for Idle and Timer Thread.
208        - Moved SVC/PendSV handler priority setup from osKernelInitialize to osKernelStart (User Priority Grouping can be updated after osKernelInitialize but before osKernelStart).
209        - Corrected SysTick and PendSV handlers for ARMv8-M Baseline.
210        - Corrected memory allocation for stack and data when "Object specific Memory allocation" configuration is used.
211        - Added support for ARMv8-M IAR compiler.
212       </td>
213     </tr>
214     <tr>
215       <td>V5.2.2</td>
216       <td>
217        - Corrected IRQ and SVC exception handlers for Cortex-A.
218       </td>
219     </tr>
220     <tr>
221       <td>V5.2.1</td>
222       <td>
223        - Corrected SysTick and SVC Interrupt Priority for Cortex-M.
224       </td>
225     </tr>
226     <tr>
227       <td>V5.2.0</td>
228       <td>
229        - Based on CMSIS-RTOS API V2.1.1.
230        - Added support for Cortex-A.
231        - Using OS Tick API for RTX Kernel Timer Tick.
232        - Fixed potential corruption of terminated threads list.
233        - Corrected MessageQueue to use actual message length (before padding).
234        - Corrected parameters for ThreadEnumerate and MessageQueueInserted events.
235        - Timer Thread creation moved to osKernelStart.
236       </td>
237     </tr>
238     <tr>
239       <td>V5.1.0</td>
240       <td>
241        - Based on CMSIS-RTOS API V2.1.0.
242        - Added support for Event recording.
243        - Added support for IAR compiler.
244        - Updated configuration files: RTX_Config.h for the configuration settings and RTX_config.c for implementing the \ref rtx5_specific.
245        - osRtx name-space for RTX specific symbols.
246       </td>
247     </tr>
248     <tr>
249       <td>V5.0.0</td>
250       <td>
251        Initial release compliant to CMSIS-RTOS2.\n
252       </td>
253     </tr>
254 </table>
255 */