Merge branch 'develop' of https://github.com/ARM-software/CMSIS_5 into develop
diff --git a/CMSIS/DoxyGen/RTOS2/src/cmsis_os2.txt b/CMSIS/DoxyGen/RTOS2/src/cmsis_os2.txt
index 95b0b5c..855eb07 100644
--- a/CMSIS/DoxyGen/RTOS2/src/cmsis_os2.txt
+++ b/CMSIS/DoxyGen/RTOS2/src/cmsis_os2.txt
@@ -68,64 +68,9 @@
<tr>
<td>V2.0.0</td>
<td>
- - Kernel:\n
- -- added: \ref osKernelGetInfo, \ref osKernelGetState.\n
- -- added: \ref osKernelLock, \ref osKernelUnlock.\n
- -- added: \ref osKernelSuspend, \ref osKernelResume.\n
- -- added: \ref osKernelGetTickCount, \ref osKernelGetTickFreq.\n
- -- renamed osKernelSysTick to \ref osKernelGetSysTimerCount.\n
- -- replaced osKernelSysTickFrequency with \ref osKernelGetSysTimerFreq.\n
- - Thread:\n
- -- extended number of thread priorities.\n
- -- replaced osThreadCreate with \ref osThreadNew.\n
- -- added: \ref osThreadGetName.\n
- -- added: \ref osThreadGetState.\n
- -- added: \ref osThreadGetStackSize, \ref osThreadGetStackSpace.\n
- -- added: \ref osThreadSuspend, \ref osThreadResume.\n
- -- added: \ref osThreadJoin, \ref osThreadDetach, \ref osThreadExit.\n
- -- added: \ref osThreadGetCount, \ref osThreadEnumerate.\n
- - Signals:\n
- -- renamed osSignals to osThreadFlags.\n
- -- changed return value of Set/Clear/Wait functions.\n
- -- Clear function limited to current running thread.\n
- -- extended Wait function (options).\n
- -- added: \ref osThreadFlagsGet.\n
- - Event Flags: added new independent object for handling Event Flags.\n
- - Delay and Wait functions:\n
- -- added: \ref osDelayUntil.\n
- -- deprecated: osWait.\n
- - Timer:\n
- -- replaced osTimerCreate with \ref osTimerNew.\n
- -- added: \ref osTimerGetName, \ref osTimerIsRunning.\n
- - Mutex:\n
- -- extended: attributes (Recursive, Priority Inherit, Robust).\n
- -- replaced osMutexCreate with \ref osMutexNew.\n
- -- renamed osMutexWait to \ref osMutexAcquire.\n
- -- added: \ref osMutexGetName, \ref osMutexGetOwner.\n
- - Semaphore:\n
- -- extended: maximum and initial token count.\n
- -- replaced osSemaphoreCreate with \ref osSemaphoreNew.\n
- -- renamed osSemaphoreWait to \ref osSemaphoreAcquire (changed return value).\n
- -- added: \ref osSemaphoreGetName, \ref osSemaphoreGetCount.\n
- - Memory Pool:\n
- -- using osMemoryPool prefix instead of osPool.\n
- -- replaced osPoolCreate with \ref osMemoryPoolNew.\n
- -- extended: \ref osMemoryPoolAlloc (timeout).\n
- -- added: \ref osMemoryPoolGetName.\n
- -- added: \ref osMemoryPoolGetCapacity, \ref osMemoryPoolGetBlockSize.\n
- -- added: \ref osMemoryPoolGetCount, \ref osMemoryPoolGetSpace.\n
- -- added: \ref osMemoryPoolDelete.\n
- -- deprecated: osPoolCAlloc.\n
- - Message Queue:\n
- -- fixed size messages instead of a single 32-bit values.\n
- -- using osMessageQueue prefix instead of osMessage.\n
- -- replaced osMessageCreate with \ref osMessageQueueNew.\n
- -- updated: \ref osMessageQueuePut, \ref osMessageQueueGet.\n
- -- added: \ref osMessageQueueGetName.\n
- -- added: \ref osMessageQueueGetCapacity, \ref osMessageQueueGetMsgSize.\n
- -- added: \ref osMessageQueueGetCount, \ref osMessageQueueGetSpace.\n
- -- added: \ref osMessageQueueReset, \ref osMessageQueueDelete.\n
- - Mail Queue: deprecated (superseded by extended Message Queue functionality).\n
+ 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.
</td>
</tr>
<tr>
diff --git a/CMSIS/DoxyGen/RTOS2/src/cmsis_os2_Event.txt b/CMSIS/DoxyGen/RTOS2/src/cmsis_os2_Event.txt
index 5d01f39..4091766 100644
--- a/CMSIS/DoxyGen/RTOS2/src/cmsis_os2_Event.txt
+++ b/CMSIS/DoxyGen/RTOS2/src/cmsis_os2_Event.txt
@@ -10,7 +10,7 @@
Events are used to trigger execution states between threads. The event flag management functions in CMSIS-RTOS allow you to control or wait for event flags. Each signal has up to 31 event flags (int32_t flags provides 31 bits).
A thread
-- can wait for event flags to be set (using \ref osEventFlagsGet). Using this function, it enters the
+- can wait for event flags to be set (using \ref osEventFlagsWait). Using this function, it enters the
\ref ThreadStates "BLOCKED" state. The \ref osEventFlagsGet parameter \a flags defines the signals that are required to put the thread back into \b READY state.
- may set one or more flags in any other given thread (using \ref osEventFlagsSet).
- may clear its own signals or the signals of other threads (using \ref osEventFlagsClear).
@@ -135,7 +135,7 @@
int32_t signals;
osThreadId_t thread_id;
- thread_id = osThreadCreate (Thread_2, NULL, NULL);
+ thread_id = osThreadNew (Thread_2, NULL, NULL);
signals = osEventFlagsSet (event_id, 0x00000005); // Send signals to the created thread
}
\endcode
diff --git a/CMSIS/DoxyGen/RTOS2/src/cmsis_os2_Kernel.txt b/CMSIS/DoxyGen/RTOS2/src/cmsis_os2_Kernel.txt
index a156e4b..e14f8a1 100644
--- a/CMSIS/DoxyGen/RTOS2/src/cmsis_os2_Kernel.txt
+++ b/CMSIS/DoxyGen/RTOS2/src/cmsis_os2_Kernel.txt
@@ -12,13 +12,7 @@
- start the RTOS kernel and thread switching.
- check the execution status of the RTOS kernel.
-The function \b main is a special thread function that may be started at system initialization. In this case it has the
-initial priority \a osPriorityNormal.
-
-When reaching \b main, it is necessary to:
--# Call osKernelInitialize() to initialize the CMSIS-RTOS Kernel
--# Setup device peripherals and create other RTOS objects using the \b os*New functions.
--# Start the Kernel and begin thread switching by calling osKernelStart().
+\note The Kernel initialization for RTX5 is documented in \ref SystemStartup.
<b>Code Example</b>
\code{.c}
@@ -203,7 +197,7 @@
for (;;) {
/* HERE: include optional user code to be executed when no task runs.*/
- sleep = os_suspend(); /* Suspend RTX thread scheduler */
+ sleep = osKernelSuspend(); /* Suspend RTX thread scheduler */S
if (sleep) { /* How long can we sleep? */
/* "sleep" is in RTX Timer Ticks which is 1ms in this configuration */
@@ -217,7 +211,7 @@
sleep = tc; /* Adjust with cycles slept */
}
- os_resume(sleep); /* Resume thread scheduler */
+ osKernelResume(sleep); /* Resume thread scheduler */
}
}
\endcode
diff --git a/CMSIS/DoxyGen/RTOS2/src/cmsis_os2_Sema.txt b/CMSIS/DoxyGen/RTOS2/src/cmsis_os2_Sema.txt
index e28fae8..5281f37 100644
--- a/CMSIS/DoxyGen/RTOS2/src/cmsis_os2_Sema.txt
+++ b/CMSIS/DoxyGen/RTOS2/src/cmsis_os2_Sema.txt
@@ -112,7 +112,7 @@
// Thread 1 - High Priority - Active every 3ms
//
void thread1 (void *argument) {
- int32_t value;
+ osStatus_t val;
while (1) {
osDelay(3); // Pass control to other tasks for 3ms
@@ -157,7 +157,6 @@
*/
-*/
/*=======0=========1=========2=========3=========4=========5=========6=========7=========8=========9=========0=========1====*/
/**
\fn osStatus_t osSemaphoreAcquire (osSemaphoreId_t semaphore_id, uint32_t timeout)
diff --git a/CMSIS/DoxyGen/RTOS2/src/cmsis_os2_Thread.txt b/CMSIS/DoxyGen/RTOS2/src/cmsis_os2_Thread.txt
index 74fa466..8148821 100644
--- a/CMSIS/DoxyGen/RTOS2/src/cmsis_os2_Thread.txt
+++ b/CMSIS/DoxyGen/RTOS2/src/cmsis_os2_Thread.txt
@@ -229,8 +229,6 @@
A priority inversion occurs when a high priority thread is waiting for a resource or event that is controlled by a thread
with a lower priority.
-\note
-Cannot be called from \ref CMSIS_RTOS_ISR_Calls "Interrupt Service Routines".
*/
/*=======0=========1=========2=========3=========4=========5=========6=========7=========8=========9=========0=========1====*/
@@ -563,8 +561,8 @@
Bit Mask | Description
:-----------------------|:-----------------------------------------
-osThreadJoinable | Thread is created in a join-able state (default).
-osThreadDettached | Thread is created in a detached state.
+osThreadJoinable | Thread is created in a join-able state.
+osThreadDettached | Thread is created in a detached state (default).
\var osThreadAttr_t::cb_mem
\details
diff --git a/CMSIS/DoxyGen/RTOS2/src/cmsis_os2_ThreadFlags.txt b/CMSIS/DoxyGen/RTOS2/src/cmsis_os2_ThreadFlags.txt
index 821c037..92e4d04 100644
--- a/CMSIS/DoxyGen/RTOS2/src/cmsis_os2_ThreadFlags.txt
+++ b/CMSIS/DoxyGen/RTOS2/src/cmsis_os2_ThreadFlags.txt
@@ -24,7 +24,7 @@
int32_t signals;
osThreadId_t thread_id;
- thread_id = osThreadCreate (Thread, NULL, NULL);
+ thread_id = osThreadNew (Thread, NULL, NULL);
signals = osThreadFlagsSet (event_id, 0x00000001ul); // Send signals to the created thread
}
\endcode
diff --git a/CMSIS/DoxyGen/RTOS2/src/cmsis_os2_Wait.txt b/CMSIS/DoxyGen/RTOS2/src/cmsis_os2_Wait.txt
index c0afb1b..0521292 100644
--- a/CMSIS/DoxyGen/RTOS2/src/cmsis_os2_Wait.txt
+++ b/CMSIS/DoxyGen/RTOS2/src/cmsis_os2_Wait.txt
@@ -62,20 +62,5 @@
\note Cannot be called from \ref CMSIS_RTOS_ISR_Calls "Interrupt Service Routines".
-<b>Code Example</b>
-\code{.c}
-#include "cmsis_os2.h"
-
-void Thread_1 (void *arg) { // Thread function
- osStatus_t status; // capture the return status
- uint32_t delayTime; // delay time in milliseconds
-
- delayTime = osKernelGetTime() + 2000; // 2 seconds from now.
- status = osDelay (delayTime); // suspend thread execution
- if (status != osOK) {
- // handle error code
- }
-}
-\endcode
*/
/// @}
diff --git a/CMSIS/DoxyGen/RTOS2/src/images/config_wizard_system.png b/CMSIS/DoxyGen/RTOS2/src/images/config_wizard_system.png
index 0082dc7..601cc69 100644
--- a/CMSIS/DoxyGen/RTOS2/src/images/config_wizard_system.png
+++ b/CMSIS/DoxyGen/RTOS2/src/images/config_wizard_system.png
Binary files differ