[][src]Module cmsis_rtos2::cmsis_os2

Structs

osEventFlagsAttr_t

Attributes structure for event flags.

osMemoryPoolAttr_t

Attributes structure for memory pool.

osMessageQueueAttr_t

Attributes structure for message queue.

osMutexAttr_t

Attributes structure for mutex.

osSemaphoreAttr_t

Attributes structure for semaphore.

osThreadAttr_t

Attributes structure for thread.

osTimerAttr_t

Attributes structure for timer.

osVersion_t

Version information.

Constants

osFlagsError
osFlagsErrorISR
osFlagsErrorParameter
osFlagsErrorResource
osFlagsErrorTimeout
osFlagsErrorUnknown
osFlagsNoClear
osFlagsWaitAll
osFlagsWaitAny
osKernelState_t_osKernelError

< Error.

osKernelState_t_osKernelInactive

< Inactive.

osKernelState_t_osKernelLocked

< Locked.

osKernelState_t_osKernelReady

< Ready.

osKernelState_t_osKernelReserved

< Prevents enum down-size compiler optimization.

osKernelState_t_osKernelRunning

< Running.

osKernelState_t_osKernelSuspended

< Suspended.

osMutexPrioInherit
osMutexRecursive
osMutexRobust
osPriority_t_osPriorityAboveNormal

< Priority: above normal

osPriority_t_osPriorityAboveNormal1

< Priority: above normal + 1

osPriority_t_osPriorityAboveNormal2

< Priority: above normal + 2

osPriority_t_osPriorityAboveNormal3

< Priority: above normal + 3

osPriority_t_osPriorityAboveNormal4

< Priority: above normal + 4

osPriority_t_osPriorityAboveNormal5

< Priority: above normal + 5

osPriority_t_osPriorityAboveNormal6

< Priority: above normal + 6

osPriority_t_osPriorityAboveNormal7

< Priority: above normal + 7

osPriority_t_osPriorityBelowNormal

< Priority: below normal

osPriority_t_osPriorityBelowNormal1

< Priority: below normal + 1

osPriority_t_osPriorityBelowNormal2

< Priority: below normal + 2

osPriority_t_osPriorityBelowNormal3

< Priority: below normal + 3

osPriority_t_osPriorityBelowNormal4

< Priority: below normal + 4

osPriority_t_osPriorityBelowNormal5

< Priority: below normal + 5

osPriority_t_osPriorityBelowNormal6

< Priority: below normal + 6

osPriority_t_osPriorityBelowNormal7

< Priority: below normal + 7

osPriority_t_osPriorityError

< System cannot determine priority or illegal priority.

osPriority_t_osPriorityHigh

< Priority: high

osPriority_t_osPriorityHigh1

< Priority: high + 1

osPriority_t_osPriorityHigh2

< Priority: high + 2

osPriority_t_osPriorityHigh3

< Priority: high + 3

osPriority_t_osPriorityHigh4

< Priority: high + 4

osPriority_t_osPriorityHigh5

< Priority: high + 5

osPriority_t_osPriorityHigh6

< Priority: high + 6

osPriority_t_osPriorityHigh7

< Priority: high + 7

osPriority_t_osPriorityISR

< Reserved for ISR deferred thread.

osPriority_t_osPriorityIdle

< Reserved for Idle thread.

osPriority_t_osPriorityLow

< Priority: low

osPriority_t_osPriorityLow1

< Priority: low + 1

osPriority_t_osPriorityLow2

< Priority: low + 2

osPriority_t_osPriorityLow3

< Priority: low + 3

osPriority_t_osPriorityLow4

< Priority: low + 4

osPriority_t_osPriorityLow5

< Priority: low + 5

osPriority_t_osPriorityLow6

< Priority: low + 6

osPriority_t_osPriorityLow7

< Priority: low + 7

osPriority_t_osPriorityNone

< No priority (not initialized).

osPriority_t_osPriorityNormal

< Priority: normal

osPriority_t_osPriorityNormal1

< Priority: normal + 1

osPriority_t_osPriorityNormal2

< Priority: normal + 2

osPriority_t_osPriorityNormal3

< Priority: normal + 3

osPriority_t_osPriorityNormal4

< Priority: normal + 4

osPriority_t_osPriorityNormal5

< Priority: normal + 5

osPriority_t_osPriorityNormal6

< Priority: normal + 6

osPriority_t_osPriorityNormal7

< Priority: normal + 7

osPriority_t_osPriorityRealtime

< Priority: realtime

osPriority_t_osPriorityRealtime1

< Priority: realtime + 1

osPriority_t_osPriorityRealtime2

< Priority: realtime + 2

osPriority_t_osPriorityRealtime3

< Priority: realtime + 3

osPriority_t_osPriorityRealtime4

< Priority: realtime + 4

osPriority_t_osPriorityRealtime5

< Priority: realtime + 5

osPriority_t_osPriorityRealtime6

< Priority: realtime + 6

osPriority_t_osPriorityRealtime7

< Priority: realtime + 7

osPriority_t_osPriorityReserved

< Prevents enum down-size compiler optimization.

osStatus_t_osError

< Unspecified RTOS error: run-time error but no other error message fits.

osStatus_t_osErrorISR

< Not allowed in ISR context: the function cannot be called from interrupt service routines.

osStatus_t_osErrorNoMemory

< System is out of memory: it was impossible to allocate or reserve memory for the operation.

osStatus_t_osErrorParameter

< Parameter error.

osStatus_t_osErrorResource

< Resource not available.

osStatus_t_osErrorTimeout

< Operation not completed within the timeout period.

osStatus_t_osOK

< Operation completed successfully.

osStatus_t_osStatusReserved

< Prevents enum down-size compiler optimization.

osThreadDetached
osThreadJoinable
osThreadState_t_osThreadBlocked

< Blocked.

osThreadState_t_osThreadError

< Error.

osThreadState_t_osThreadInactive

< Inactive.

osThreadState_t_osThreadReady

< Ready.

osThreadState_t_osThreadReserved

< Prevents enum down-size compiler optimization.

osThreadState_t_osThreadRunning

< Running.

osThreadState_t_osThreadTerminated

< Terminated.

osTimerType_t_osTimerOnce

< One-shot timer.

osTimerType_t_osTimerPeriodic

< Repeating timer.

osWaitForever

Functions

osDelay

Wait for Timeout (Time Delay). \param[in] ticks \ref CMSIS_RTOS_TimeOutValue "time ticks" value \return status code that indicates the execution status of the function.

osDelayUntil

Wait until specified time. \param[in] ticks absolute time in ticks \return status code that indicates the execution status of the function.

osEventFlagsClear

Clear the specified Event Flags. \param[in] ef_id event flags ID obtained by \ref osEventFlagsNew. \param[in] flags specifies the flags that shall be cleared. \return event flags before clearing or error code if highest bit set.

osEventFlagsDelete

Delete an Event Flags object. \param[in] ef_id event flags ID obtained by \ref osEventFlagsNew. \return status code that indicates the execution status of the function.

osEventFlagsGet

Get the current Event Flags. \param[in] ef_id event flags ID obtained by \ref osEventFlagsNew. \return current event flags.

osEventFlagsGetName

Get name of an Event Flags object. \param[in] ef_id event flags ID obtained by \ref osEventFlagsNew. \return name as null-terminated string.

osEventFlagsNew

Create and Initialize an Event Flags object. \param[in] attr event flags attributes; NULL: default values. \return event flags ID for reference by other functions or NULL in case of error.

osEventFlagsSet

Set the specified Event Flags. \param[in] ef_id event flags ID obtained by \ref osEventFlagsNew. \param[in] flags specifies the flags that shall be set. \return event flags after setting or error code if highest bit set.

osEventFlagsWait

Wait for one or more Event Flags to become signaled. \param[in] ef_id event flags ID obtained by \ref osEventFlagsNew. \param[in] flags specifies the flags to wait for. \param[in] options specifies flags options (osFlagsXxxx). \param[in] timeout \ref CMSIS_RTOS_TimeOutValue or 0 in case of no time-out. \return event flags before clearing or error code if highest bit set.

osKernelGetInfo

Get RTOS Kernel Information. \param[out] version pointer to buffer for retrieving version information. \param[out] id_buf pointer to buffer for retrieving kernel identification string. \param[in] id_size size of buffer for kernel identification string. \return status code that indicates the execution status of the function.

osKernelGetState

Get the current RTOS Kernel state. \return current RTOS Kernel state.

osKernelGetSysTimerCount

Get the RTOS kernel system timer count. \return RTOS kernel current system timer count as 32-bit value.

osKernelGetSysTimerFreq

Get the RTOS kernel system timer frequency. \return frequency of the system timer in hertz, i.e. timer ticks per second.

osKernelGetTickCount

Get the RTOS kernel tick count. \return RTOS kernel current tick count.

osKernelGetTickFreq

Get the RTOS kernel tick frequency. \return frequency of the kernel tick in hertz, i.e. kernel ticks per second.

osKernelInitialize

Initialize the RTOS Kernel. \return status code that indicates the execution status of the function.

osKernelLock

Lock the RTOS Kernel scheduler. \return previous lock state (1 - locked, 0 - not locked, error code if negative).

osKernelRestoreLock

Restore the RTOS Kernel scheduler lock state. \param[in] lock lock state obtained by \ref osKernelLock or \ref osKernelUnlock. \return new lock state (1 - locked, 0 - not locked, error code if negative).

osKernelResume

Resume the RTOS Kernel scheduler. \param[in] sleep_ticks time in ticks for how long the system was in sleep or power-down mode.

osKernelStart

Start the RTOS Kernel scheduler. \return status code that indicates the execution status of the function.

osKernelSuspend

Suspend the RTOS Kernel scheduler. \return time in ticks, for how long the system can sleep or power-down.

osKernelUnlock

Unlock the RTOS Kernel scheduler. \return previous lock state (1 - locked, 0 - not locked, error code if negative).

osMemoryPoolAlloc

Allocate a memory block from a Memory Pool. \param[in] mp_id memory pool ID obtained by \ref osMemoryPoolNew. \param[in] timeout \ref CMSIS_RTOS_TimeOutValue or 0 in case of no time-out. \return address of the allocated memory block or NULL in case of no memory is available.

osMemoryPoolDelete

Delete a Memory Pool object. \param[in] mp_id memory pool ID obtained by \ref osMemoryPoolNew. \return status code that indicates the execution status of the function.

osMemoryPoolFree

Return an allocated memory block back to a Memory Pool. \param[in] mp_id memory pool ID obtained by \ref osMemoryPoolNew. \param[in] block address of the allocated memory block to be returned to the memory pool. \return status code that indicates the execution status of the function.

osMemoryPoolGetBlockSize

Get memory block size in a Memory Pool. \param[in] mp_id memory pool ID obtained by \ref osMemoryPoolNew. \return memory block size in bytes.

osMemoryPoolGetCapacity

Get maximum number of memory blocks in a Memory Pool. \param[in] mp_id memory pool ID obtained by \ref osMemoryPoolNew. \return maximum number of memory blocks.

osMemoryPoolGetCount

Get number of memory blocks used in a Memory Pool. \param[in] mp_id memory pool ID obtained by \ref osMemoryPoolNew. \return number of memory blocks used.

osMemoryPoolGetName

Get name of a Memory Pool object. \param[in] mp_id memory pool ID obtained by \ref osMemoryPoolNew. \return name as null-terminated string.

osMemoryPoolGetSpace

Get number of memory blocks available in a Memory Pool. \param[in] mp_id memory pool ID obtained by \ref osMemoryPoolNew. \return number of memory blocks available.

osMemoryPoolNew

Create and Initialize a Memory Pool object. \param[in] block_count maximum number of memory blocks in memory pool. \param[in] block_size memory block size in bytes. \param[in] attr memory pool attributes; NULL: default values. \return memory pool ID for reference by other functions or NULL in case of error.

osMessageQueueDelete

Delete a Message Queue object. \param[in] mq_id message queue ID obtained by \ref osMessageQueueNew. \return status code that indicates the execution status of the function.

osMessageQueueGet

Get a Message from a Queue or timeout if Queue is empty. \param[in] mq_id message queue ID obtained by \ref osMessageQueueNew. \param[out] msg_ptr pointer to buffer for message to get from a queue. \param[out] msg_prio pointer to buffer for message priority or NULL. \param[in] timeout \ref CMSIS_RTOS_TimeOutValue or 0 in case of no time-out. \return status code that indicates the execution status of the function.

osMessageQueueGetCapacity

Get maximum number of messages in a Message Queue. \param[in] mq_id message queue ID obtained by \ref osMessageQueueNew. \return maximum number of messages.

osMessageQueueGetCount

Get number of queued messages in a Message Queue. \param[in] mq_id message queue ID obtained by \ref osMessageQueueNew. \return number of queued messages.

osMessageQueueGetMsgSize

Get maximum message size in a Memory Pool. \param[in] mq_id message queue ID obtained by \ref osMessageQueueNew. \return maximum message size in bytes.

osMessageQueueGetName

Get name of a Message Queue object. \param[in] mq_id message queue ID obtained by \ref osMessageQueueNew. \return name as null-terminated string.

osMessageQueueGetSpace

Get number of available slots for messages in a Message Queue. \param[in] mq_id message queue ID obtained by \ref osMessageQueueNew. \return number of available slots for messages.

osMessageQueueNew

Create and Initialize a Message Queue object. \param[in] msg_count maximum number of messages in queue. \param[in] msg_size maximum message size in bytes. \param[in] attr message queue attributes; NULL: default values. \return message queue ID for reference by other functions or NULL in case of error.

osMessageQueuePut

Put a Message into a Queue or timeout if Queue is full. \param[in] mq_id message queue ID obtained by \ref osMessageQueueNew. \param[in] msg_ptr pointer to buffer with message to put into a queue. \param[in] msg_prio message priority. \param[in] timeout \ref CMSIS_RTOS_TimeOutValue or 0 in case of no time-out. \return status code that indicates the execution status of the function.

osMessageQueueReset

Reset a Message Queue to initial empty state. \param[in] mq_id message queue ID obtained by \ref osMessageQueueNew. \return status code that indicates the execution status of the function.

osMutexAcquire

Acquire a Mutex or timeout if it is locked. \param[in] mutex_id mutex ID obtained by \ref osMutexNew. \param[in] timeout \ref CMSIS_RTOS_TimeOutValue or 0 in case of no time-out. \return status code that indicates the execution status of the function.

osMutexDelete

Delete a Mutex object. \param[in] mutex_id mutex ID obtained by \ref osMutexNew. \return status code that indicates the execution status of the function.

osMutexGetName

Get name of a Mutex object. \param[in] mutex_id mutex ID obtained by \ref osMutexNew. \return name as null-terminated string.

osMutexGetOwner

Get Thread which owns a Mutex object. \param[in] mutex_id mutex ID obtained by \ref osMutexNew. \return thread ID of owner thread or NULL when mutex was not acquired.

osMutexNew

Create and Initialize a Mutex object. \param[in] attr mutex attributes; NULL: default values. \return mutex ID for reference by other functions or NULL in case of error.

osMutexRelease

Release a Mutex that was acquired by \ref osMutexAcquire. \param[in] mutex_id mutex ID obtained by \ref osMutexNew. \return status code that indicates the execution status of the function.

osSemaphoreAcquire

Acquire a Semaphore token or timeout if no tokens are available. \param[in] semaphore_id semaphore ID obtained by \ref osSemaphoreNew. \param[in] timeout \ref CMSIS_RTOS_TimeOutValue or 0 in case of no time-out. \return status code that indicates the execution status of the function.

osSemaphoreDelete

Delete a Semaphore object. \param[in] semaphore_id semaphore ID obtained by \ref osSemaphoreNew. \return status code that indicates the execution status of the function.

osSemaphoreGetCount

Get current Semaphore token count. \param[in] semaphore_id semaphore ID obtained by \ref osSemaphoreNew. \return number of tokens available.

osSemaphoreGetName

Get name of a Semaphore object. \param[in] semaphore_id semaphore ID obtained by \ref osSemaphoreNew. \return name as null-terminated string.

osSemaphoreNew

Create and Initialize a Semaphore object. \param[in] max_count maximum number of available tokens. \param[in] initial_count initial number of available tokens. \param[in] attr semaphore attributes; NULL: default values. \return semaphore ID for reference by other functions or NULL in case of error.

osSemaphoreRelease

Release a Semaphore token up to the initial maximum count. \param[in] semaphore_id semaphore ID obtained by \ref osSemaphoreNew. \return status code that indicates the execution status of the function.

osThreadDetach

Detach a thread (thread storage can be reclaimed when thread terminates). \param[in] thread_id thread ID obtained by \ref osThreadNew or \ref osThreadGetId. \return status code that indicates the execution status of the function.

osThreadEnumerate

Enumerate active threads. \param[out] thread_array pointer to array for retrieving thread IDs. \param[in] array_items maximum number of items in array for retrieving thread IDs. \return number of enumerated threads.

osThreadExit

Terminate execution of current running thread.

osThreadFlagsClear

Clear the specified Thread Flags of current running thread. \param[in] flags specifies the flags of the thread that shall be cleared. \return thread flags before clearing or error code if highest bit set.

osThreadFlagsGet

Get the current Thread Flags of current running thread. \return current thread flags.

osThreadFlagsSet

Set the specified Thread Flags of a thread. \param[in] thread_id thread ID obtained by \ref osThreadNew or \ref osThreadGetId. \param[in] flags specifies the flags of the thread that shall be set. \return thread flags after setting or error code if highest bit set.

osThreadFlagsWait

Wait for one or more Thread Flags of the current running thread to become signaled. \param[in] flags specifies the flags to wait for. \param[in] options specifies flags options (osFlagsXxxx). \param[in] timeout \ref CMSIS_RTOS_TimeOutValue or 0 in case of no time-out. \return thread flags before clearing or error code if highest bit set.

osThreadGetCount

Get number of active threads. \return number of active threads.

osThreadGetId

Return the thread ID of the current running thread. \return thread ID for reference by other functions or NULL in case of error.

osThreadGetName

Get name of a thread. \param[in] thread_id thread ID obtained by \ref osThreadNew or \ref osThreadGetId. \return name as null-terminated string.

osThreadGetPriority

Get current priority of a thread. \param[in] thread_id thread ID obtained by \ref osThreadNew or \ref osThreadGetId. \return current priority value of the specified thread.

osThreadGetStackSize

Get stack size of a thread. \param[in] thread_id thread ID obtained by \ref osThreadNew or \ref osThreadGetId. \return stack size in bytes.

osThreadGetStackSpace

Get available stack space of a thread based on stack watermark recording during execution. \param[in] thread_id thread ID obtained by \ref osThreadNew or \ref osThreadGetId. \return remaining stack space in bytes.

osThreadGetState

Get current thread state of a thread. \param[in] thread_id thread ID obtained by \ref osThreadNew or \ref osThreadGetId. \return current thread state of the specified thread.

osThreadJoin

Wait for specified thread to terminate. \param[in] thread_id thread ID obtained by \ref osThreadNew or \ref osThreadGetId. \return status code that indicates the execution status of the function.

osThreadNew

Create a thread and add it to Active Threads. \param[in] func thread function. \param[in] argument pointer that is passed to the thread function as start argument. \param[in] attr thread attributes; NULL: default values. \return thread ID for reference by other functions or NULL in case of error.

osThreadResume

Resume execution of a thread. \param[in] thread_id thread ID obtained by \ref osThreadNew or \ref osThreadGetId. \return status code that indicates the execution status of the function.

osThreadSetPriority

Change priority of a thread. \param[in] thread_id thread ID obtained by \ref osThreadNew or \ref osThreadGetId. \param[in] priority new priority value for the thread function. \return status code that indicates the execution status of the function.

osThreadSuspend

Suspend execution of a thread. \param[in] thread_id thread ID obtained by \ref osThreadNew or \ref osThreadGetId. \return status code that indicates the execution status of the function.

osThreadTerminate

Terminate execution of a thread. \param[in] thread_id thread ID obtained by \ref osThreadNew or \ref osThreadGetId. \return status code that indicates the execution status of the function.

osThreadYield

Pass control to next thread that is in state \b READY. \return status code that indicates the execution status of the function.

osTimerDelete

Delete a timer. \param[in] timer_id timer ID obtained by \ref osTimerNew. \return status code that indicates the execution status of the function.

osTimerGetName

Get name of a timer. \param[in] timer_id timer ID obtained by \ref osTimerNew. \return name as null-terminated string.

osTimerIsRunning

Check if a timer is running. \param[in] timer_id timer ID obtained by \ref osTimerNew. \return 0 not running, 1 running.

osTimerNew

Create and Initialize a timer. \param[in] func function pointer to callback function. \param[in] type \ref osTimerOnce for one-shot or \ref osTimerPeriodic for periodic behavior. \param[in] argument argument to the timer callback function. \param[in] attr timer attributes; NULL: default values. \return timer ID for reference by other functions or NULL in case of error.

osTimerStart

Start or restart a timer. \param[in] timer_id timer ID obtained by \ref osTimerNew. \param[in] ticks \ref CMSIS_RTOS_TimeOutValue "time ticks" value of the timer. \return status code that indicates the execution status of the function.

osTimerStop

Stop a timer. \param[in] timer_id timer ID obtained by \ref osTimerNew. \return status code that indicates the execution status of the function.

Type Definitions

TZ_ModuleId_t

\details Data type that identifies secure software modules called by a process.

osEventFlagsId_t

\details Event Flags ID identifies the event flags.

osKernelState_t

Kernel state.

osMemoryPoolId_t

\details Memory Pool ID identifies the memory pool.

osMessageQueueId_t

\details Message Queue ID identifies the message queue.

osMutexId_t

\details Mutex ID identifies the mutex.

osPriority_t

Priority values.

osSemaphoreId_t

\details Semaphore ID identifies the semaphore.

osStatus_t

Status code values returned by CMSIS-RTOS functions.

osThreadFunc_t

Entry point of a thread.

osThreadId_t

\details Thread ID identifies the thread.

osThreadState_t

Thread state.

osTimerFunc_t

Timer callback function.

osTimerId_t

\details Timer ID identifies the timer.

osTimerType_t

Timer type.