RTOS2: Updated API V2.1.1
- Additional functions allowed to be called from Interrupt Service Routines: osKernelGetTickCount, osKernelGetTickFreq
- Changed Kernel Tick type to uint32_t, updated: osKernelGetTickCount, osDelayUntil
diff --git a/CMSIS/DoxyGen/RTOS2/rtos.dxy b/CMSIS/DoxyGen/RTOS2/rtos.dxy
index 424fd7a..7ba9270 100644
--- a/CMSIS/DoxyGen/RTOS2/rtos.dxy
+++ b/CMSIS/DoxyGen/RTOS2/rtos.dxy
@@ -38,7 +38,7 @@
# could be handy for archiving the generated documentation or if some version
# control system is used.
-PROJECT_NUMBER = "Version 2.1.0"
+PROJECT_NUMBER = "Version 2.1.1"
# Using the PROJECT_BRIEF tag one can provide an optional one line description
# for a project that appears at the top of each page and should give viewer a
diff --git a/CMSIS/DoxyGen/RTOS2/src/cmsis_os2.txt b/CMSIS/DoxyGen/RTOS2/src/cmsis_os2.txt
index cd0d9ae..9ed883d 100644
--- a/CMSIS/DoxyGen/RTOS2/src/cmsis_os2.txt
+++ b/CMSIS/DoxyGen/RTOS2/src/cmsis_os2.txt
@@ -78,6 +78,16 @@
<th>Description</th>
</tr>
<tr>
+ <td>V2.1.1</td>
+ <td>
+ 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
+ </td>
+ </tr>
+ <tr>
<td>V2.1.0</td>
<td>
Support for critical and uncritical sections (nesting safe):
@@ -144,8 +154,10 @@
<th>Description</th>
</tr>
<tr>
- <td>V5.1.1</td>
+ <td>V5.2.0</td>
<td>
+ - Based on CMSIS-RTOS API V2.1.1.
+ - Added support for for Cortex-A.
- Fixed potential corruption of terminated threads list.
- Corrected MessageQueue to use actual message length (before padding).
- Corrected parameters for ThreadEnumerate and MessageQueueInserted events.
@@ -155,7 +167,7 @@
<tr>
<td>V5.1.0</td>
<td>
- - Based on CMSIS-RTOS API V2.1.
+ - 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.
@@ -803,7 +815,7 @@
\section CMSIS_RTOS_ISR_Calls Calls from Interrupt Service Routines
The following CMSIS-RTOS2 functions can be called from threads and Interrupt Service Routines (ISR):
- - \ref osKernelGetSysTimerCount, \ref osKernelGetSysTimerFreq
+ - \ref osKernelGetTickCount, \ref osKernelGetTickFreq, \ref osKernelGetSysTimerCount, \ref osKernelGetSysTimerFreq
- \ref osThreadFlagsSet
- \ref osEventFlagsSet, \ref osEventFlagsClear, \ref osEventFlagsGet, \ref osEventFlagsWait
- \ref osSemaphoreAcquire, \ref osSemaphoreRelease, \ref osSemaphoreGetCount
@@ -1488,7 +1500,7 @@
The following CMSIS-RTOS2 functions can be called from threads and \ref CMSIS_RTOS_ISR_Calls "Interrupt Service Routines"
(ISR):
- - \ref osKernelGetSysTimerCount, \ref osKernelGetSysTimerFreq
+ - \ref osKernelGetTickCount, \ref osKernelGetTickFreq, \ref osKernelGetSysTimerCount, \ref osKernelGetSysTimerFreq
- \ref osThreadFlagsSet
- \ref osEventFlagsSet, \ref osEventFlagsClear, \ref osEventFlagsGet, \ref osEventFlagsWait
- \ref osSemaphoreAcquire, \ref osSemaphoreRelease, \ref osSemaphoreGetCount
diff --git a/CMSIS/DoxyGen/RTOS2/src/cmsis_os2_Kernel.txt b/CMSIS/DoxyGen/RTOS2/src/cmsis_os2_Kernel.txt
index fb65f9b..84e6929 100644
--- a/CMSIS/DoxyGen/RTOS2/src/cmsis_os2_Kernel.txt
+++ b/CMSIS/DoxyGen/RTOS2/src/cmsis_os2_Kernel.txt
@@ -378,18 +378,18 @@
*/
/*=======0=========1=========2=========3=========4=========5=========6=========7=========8=========9=========0=========1====*/
/**
-\fn uint64_t osKernelGetTickCount (void)
+\fn uint32_t osKernelGetTickCount (void)
\details
-The function \b osKernelGetTickCount returns the current RTOS kernel tick count or \token{0} in case of a failure.
+The function \b osKernelGetTickCount returns the current RTOS kernel tick count.
-\note This function \b cannot be called from \ref CMSIS_RTOS_ISR_Calls "Interrupt Service Routines".
+\note This function may be called from \ref CMSIS_RTOS_ISR_Calls "Interrupt Service Routines".
\b Code \b Example
\code
#include "cmsis_os2.h"
void Thread_1 (void *arg) { // Thread function
- uint64_t tick;
+ uint32_t tick;
tick = osKernelGetTickCount(); // retrieve the number of system ticks
for (;;) {
@@ -404,16 +404,16 @@
/**
\fn uint32_t osKernelGetTickFreq (void)
\details
-The function \b osKernelGetTickFreq returns the frequency of the current RTOS kernel tick or \token{0} in case of a failure.
+The function \b osKernelGetTickFreq returns the frequency of the current RTOS kernel tick.
-\note This function \b cannot be called from \ref CMSIS_RTOS_ISR_Calls "Interrupt Service Routines".
+\note This function may be called from \ref CMSIS_RTOS_ISR_Calls "Interrupt Service Routines".
*/
/*=======0=========1=========2=========3=========4=========5=========6=========7=========8=========9=========0=========1====*/
/**
\fn uint32_t osKernelGetSysTimerCount (void)
\details
-The function \b osKernelGetSysTimerCount returns the current RTOS kernel system timer as a 32-bit value or \token{0} in case of a failure.
+The function \b osKernelGetSysTimerCount returns the current RTOS kernel system timer as a 32-bit value.
\note This function may be called from \ref CMSIS_RTOS_ISR_Calls "Interrupt Service Routines".
*/
@@ -422,7 +422,7 @@
/**
\fn uint32_t osKernelGetSysTimerFreq (void)
\details
-The function \b osKernelGetSysTimerFreq returns the frequency of the current RTOS kernel system timer or \token{0} in case of a failure.
+The function \b osKernelGetSysTimerFreq returns the frequency of the current RTOS kernel system timer.
\note This function may be called from \ref CMSIS_RTOS_ISR_Calls "Interrupt Service Routines".
*/
diff --git a/CMSIS/DoxyGen/RTOS2/src/cmsis_os2_Migration.txt b/CMSIS/DoxyGen/RTOS2/src/cmsis_os2_Migration.txt
index 27942ab..654b1ab 100644
--- a/CMSIS/DoxyGen/RTOS2/src/cmsis_os2_Migration.txt
+++ b/CMSIS/DoxyGen/RTOS2/src/cmsis_os2_Migration.txt
@@ -52,7 +52,7 @@
\enddiv
\div{new}
-\func{uint64_t #osKernelGetTickCount (void)}
+\func{uint32_t #osKernelGetTickCount (void)}
\none
\copybrief{osKernelGetTickCount}
New function.
@@ -390,7 +390,7 @@
\enddiv
\div{new}
-\func{osStatus_t #osDelayUntil (uint64_t ticks)}
+\func{osStatus_t #osDelayUntil (uint32_t ticks)}
\none
\copybrief{osDelayUntil}
New function.
diff --git a/CMSIS/DoxyGen/RTOS2/src/cmsis_os2_Wait.txt b/CMSIS/DoxyGen/RTOS2/src/cmsis_os2_Wait.txt
index a65efab..3a9cf7a 100644
--- a/CMSIS/DoxyGen/RTOS2/src/cmsis_os2_Wait.txt
+++ b/CMSIS/DoxyGen/RTOS2/src/cmsis_os2_Wait.txt
@@ -46,7 +46,7 @@
/*=======0=========1=========2=========3=========4=========5=========6=========7=========8=========9=========0=========1====*/
/**
-\fn osStatus_t osDelayUntil (uint64_t ticks)
+\fn osStatus_t osDelayUntil (uint32_t ticks)
\details
The function \b osDelayUntil waits until an absolute time (specified in kernel \a ticks) is reached.
@@ -56,7 +56,7 @@
Possible \ref osStatus_t return values:
- \em osOK: the time delay is executed.
- - \em osParameter: the time is either in the past or cannot be handled (out of bounds).
+ - \em osParameter: the time cannot be handled (out of bounds).
- \em osErrorISR: \ref osDelayUntil cannot be called from \ref CMSIS_RTOS_ISR_Calls "Interrupt Service Routines".
\note This function \b cannot be called from \ref CMSIS_RTOS_ISR_Calls "Interrupt Service Routines".
@@ -66,7 +66,7 @@
#include "cmsis_os2.h"
void Thread_1 (void *arg) { // Thread function
- uint64_t tick;
+ uint32_t tick;
tick = osKernelGetTickCount(); // retrieve the number of system ticks
for (;;) {
diff --git a/CMSIS/DoxyGen/RTOS2/src/rtx_evr.txt b/CMSIS/DoxyGen/RTOS2/src/rtx_evr.txt
index 0738fd2..582bed2 100644
--- a/CMSIS/DoxyGen/RTOS2/src/rtx_evr.txt
+++ b/CMSIS/DoxyGen/RTOS2/src/rtx_evr.txt
@@ -267,27 +267,27 @@
*/
/**
-\fn void EvrRtxKernelGetTickCount (uint64_t count)
+\fn void EvrRtxKernelGetTickCount (uint32_t count)
\details
-The event \b KernelGetTickCount is generated when the function \ref osKernelGetTickCount is called and its execution result is known.
+The event \b KernelGetTickCount is generated when the function \ref osKernelGetTickCount is called.
\b Value in the Event Recorder shows:
- - \b count : retrieved kernel current tick count (0 in case of a failure).
+ - \b count : retrieved kernel current tick count.
*/
/**
\fn void EvrRtxKernelGetTickFreq (uint32_t freq)
\details
-The event \b KernelGetTickFreq is generated when the function \ref osKernelGetTickFreq called and its execution result is known.
+The event \b KernelGetTickFreq is generated when the function \ref osKernelGetTickFreq called.
\b Value in the Event Recorder shows:
- - \b freq : retrieved frequency of the kernel tick in Hz (0 in case of a failure).
+ - \b freq : retrieved frequency of the kernel tick in Hz.
*/
/**
\fn void EvrRtxKernelGetSysTimerCount (uint32_t count)
\details
-The event \b KernelGetSysTimerCount is generated when the function \ref osKernelGetSysTimerCount is called and its execution result is known.
+The event \b KernelGetSysTimerCount is generated when the function \ref osKernelGetSysTimerCount is called.
\b Value in the Event Recorder shows:
- \b count : retrieved kernel current system timer count as 32-bit value.
@@ -296,7 +296,7 @@
/**
\fn void EvrRtxKernelGetSysTimerFreq (uint32_t freq)
\details
-The event \b KernelGetSysTimerFreq is generated when the function \ref osKernelGetSysTimerFreq is called and its execution result is known.
+The event \b KernelGetSysTimerFreq is generated when the function \ref osKernelGetSysTimerFreq is called.
\b Value in the Event Recorder shows:
- \b freq : retrieved frequency of the system timer in Hz.
@@ -702,7 +702,7 @@
*/
/**
-\fn void EvrRtxThreadDelayUntil (uint64_t ticks)
+\fn void EvrRtxThreadDelayUntil (uint32_t ticks)
\details
The event \b ThreadDelayUntil is generated when the function \ref osDelayUntil is called.