CMSIS-RTOS
Version 1.02
CMSIS-RTOS API: Generic RTOS interface for Cortex-M processor-based devices.
|
The CMSIS-RTOS API is a generic RTOS interface for Cortex-M processor-based devices. CMSIS-RTOS provides a standardized API for software components that require RTOS functionality and gives therefore serious benefits to the users and the software industry.
A typical CMSIS-RTOS API implementation interfaces to an existing Real-Time Kernel. The CMSIS-RTOS API provides the following attributes and functionalities:
The CMSIS-RTOS API is designed to optionally incorporate multi-processor systems and/or access protection via the Cortex-M Memory Protection Unit (MPU).
In some RTOS implementations threads may execute on different processors and Mail and Message queues can therefore reside in shard memory resources.
The CMSIS-RTOS API encourages the software industry to evolve existing RTOS implementations. Kernel objects are defined and accessed using macros. This allows differentiation. RTOS implementations can be different and optimized in various aspects towards the Cortex-M processors. Optional features may be for Example
The following files relevant to CMSIS-RTOS are present in the ARM::CMSIS Pack directories:
File/Folder | Content |
---|---|
CMSIS\Documentation\RTOS | This documentation |
CMSIS\RTOS\Template | Header File Template: cmsis_os.h |
Version | Description |
---|---|
V1.02 | Added: New control functions for short timeouts in microsecond resolution osKernelSysTick, osKernelSysTickFrequency, osKernelSysTickMicroSec. Removed: osSignalGet. |
V1.01 | Added capabilities for C++, kernel initialization and object deletion. Prepared for C++ class interface. In this context to const attribute has been moved from osXxxxDef_t typedefs to the osXxxxDef macros. Added: osTimerDelete, osMutexDelete, osSemaphoreDelete. Added: osKernelInitialize that prepares the Kernel for object creation. |
V1.00 | First official Release. Added: osKernelStart; starting 'main' as a thread is now an optional feature. Semaphores have now the standard behavior. osTimerCreate does no longer start the timer. Added: osTimerStart (replaces osTimerRestart). Changed: osThreadPass is renamed to osThreadYield. |
V0.02 | Preview Release. |