CMSIS-FreeRTOS: Function Overview

| CMSIS-FreeRTOS Version 10.5.1 CMSIS-RTOS2 compliant FreeRTOS Implementation

- Main Page
- Usage and Description
- Reference

All Functions Groups Pages
Function Overview

# CMSIS-RTOS2 API

Overview of all CMSIS-RTOS C API v2 functions that are implemented in CMSIS-FreeRTOS.

## Kernel Information and Control

- osKernelGetInfo: supported
- osKernelGetState: supported
- osKernelGetSysTimerCount: supported
- osKernelGetSysTimerFreq: supported
- osKernelInitialize: supported
- osKernelLock: supported
- osKernelUnlock: supported
- osKernelRestoreLock: supported
- osKernelResume: not implemented
- osKernelStart: supported
- osKernelSuspend: not implemented
- osKernelGetTickCount: supported
- osKernelGetTickFreq: supported

## Thread Management

- osThreadDetach: not implemented
- osThreadEnumerate: supported
- osThreadExit: supported
- osThreadGetCount: supported
- osThreadGetId: supported
- osThreadGetName: supported
- osThreadGetPriority: supported
- osThreadGetStackSize: not implemented
- osThreadGetStackSpace: supported
- osThreadGetState: supported
- osThreadJoin: not implemented
- osThreadNew: supported
- osThreadResume: supported
- osThreadSetPriority: supported
- osThreadSuspend: supported
- osThreadTerminate: supported
- osThreadYield: supported

## Thread Flags

- osThreadFlagsSet: supported
- osThreadFlagsClear: supported
- osThreadFlagsGet: supported
- osThreadFlagsWait: supported

## Event Flags

All event flags are limited to 24 bits.

- osEventFlagsGetName: not implemented
- osEventFlagsNew: supported
- osEventFlagsDelete: supported
- osEventFlagsSet: supported
- osEventFlagsClear: supported
- osEventFlagsGet: supported
- osEventFlagsWait: cannot be called from an ISR.

## Generic Wait Functions

- osDelay: supported
- osDelayUntil: supported

## Timer Management

- osTimerDelete: supported
- osTimerGetName: supported
- osTimerIsRunning: supported
- osTimerNew: supported
- osTimerStart: supported
- osTimerStop: supported

## Mutex Management

Priority inherit protocol is used as default mutex behavior (osMutexNew creates priority inherit mutex object by default and ignores osMutexPrioInherit attribute when specified).
Robust mutex objects are not supported (osMutexNew returns NULL when osMutexRobust attribute is specified).

- osMutexAcquire: supported
- osMutexDelete: supported
- osMutexGetName: not implemented
- osMutexGetOwner: supported
- osMutexNew: supported
- osMutexRelease: supported

## Semaphores

- osSemaphoreAcquire: supported
- osSemaphoreDelete: supported
- osSemaphoreGetCount: supported
- osSemaphoreGetName: not implemented
- osSemaphoreNew: supported
- osSemaphoreRelease: supported

## Memory Pool

Memory Pool functions are not implemented and will always return with error.

- osMemoryPoolAlloc: supported
- osMemoryPoolDelete: supported
- osMemoryPoolFree: supported
- osMemoryPoolGetBlockSize: supported
- osMemoryPoolGetCapacity: supported
- osMemoryPoolGetCount: supported
- osMemoryPoolGetName: supported
- osMemoryPoolGetSpace: supported
- osMemoryPoolNew: supported

## Message Queue

- osMessageQueueDelete: supported
- osMessageQueueGet: ignores message priority.
- osMessageQueueGetCapacity: supported
- osMessageQueueGetCount: supported
- osMessageQueueGetMsgSize: supported
- osMessageQueueGetName: not implemented
- osMessageQueueGetSpace: supported
- osMessageQueueNew: supported
- osMessageQueuePut: ignores message priority.
- osMessageQueueReset: supported