CMSIS-RTOS2: Revision History

| CMSIS-RTOS2 Version 2.1.3 Real-Time Operating System: API and RTX Reference Implementation

- Main Page
- Usage and Description
- Reference

All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Revision History

# CMSIS-RTOS API Version 2

Version | Description
--- | ---

V2.1.3

Additional functions allowed to be called from Interrupt Service Routines:

- osThreadGetId

V2.1.2

Additional functions allowed to be called from Interrupt Service Routines:

- osKernelGetInfo, osKernelGetState

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

V2.1.0

Support for critical and uncritical sections (nesting safe):

- updated: osKernelLock, osKernelUnlock
- added: osKernelRestoreLock

Updated Thread Flags and Event Flags:

- changed flags parameter and return type from int32_t to uint32_t

V2.0.0

New API Version 2.0 available.

- See CMSIS-RTOS C API v2 for a detailed function reference.
- See Migration from API v1 to API v2 for details on the migration process from API Version 1.

V1.02 - only documentation changes | Added: Overview of the CMSIS-RTOS Validation Software Pack. Clarified: Behavior of Timeout Value.
V1.02 | Added: New control functions for short timeouts in microsecond resolution osKernelSysTick, osKernelSysTickFrequency, osKernelSysTickMicroSec. Removed: osSignalGet. fv
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.

# CMSIS-RTOS RTX Version 5

Version | Description
--- | ---

V5.5.2

- Added support for Cortex-M55.
- Fixed thread priority restore on mutex acquire timeout (when priority inherit is used).
- Enhanced support for Armv8-M (specifying thread TrustZone module identifier is optional).
- Updated configuration default values (Global Dynamic Memory and Thread Stack).

V5.5.1

- Fixed osMutexRelease issue (thread owning multiple mutexes).
- Improved osThreadJoin robustness (user programing errors).

V5.5.0

- Updated and enhanced generated events (reorganized components).
- Updated configuration (Event Recorder).
- Updated Component Viewer (improved performance).
- Minor code optimizations.

V5.4.0

- Based on CMSIS-RTOS API V2.1.3.
- Added support for Event Recorder initialization and filter setup.
- Added support to use RTOS as Event Recorder Time Stamp source.
- Fixed osDelayUntil longest delay (limited to 2^31-1).
- Fixed optimization issue when using GCC optimization level 3.
- Fixed osMemoryPoolAlloc to avoid potential race condition.
- Restructured exception handling for Cortex-A devices.
- Minor code optimizations (removed unnecessary checks).

V5.3.0

- Added Object Memory usage counters.
- Added support for additional external configuration file.
- Added user configurable names for system threads (Idle and Timer).
- Added support for OS sections when using ARMCC5.
- Added callback for MPU integration (experimental)
- Increased default thread stack sizes to 256 bytes.
- Fixed stack context display for running thread in SCVD.
- Enhanced MISRA Compliance.

V5.2.3

- Based on CMSIS-RTOS API V2.1.2.
- Added TrustZone Module Identifier configuration for Idle and Timer Thread.
- Moved SVC/PendSV handler priority setup from osKernelInitialize to osKernelStart (User Priority Grouping can be updated after osKernelInitialize but before osKernelStart).
- Corrected SysTick and PendSV handlers for ARMv8-M Baseline.
- Corrected memory allocation for stack and data when "Object specific Memory allocation" configuration is used.
- Added support for ARMv8-M IAR compiler.

V5.2.2

- Corrected IRQ and SVC exception handlers for Cortex-A.

V5.2.1

- Corrected SysTick and SVC Interrupt Priority for Cortex-M.

V5.2.0

- Based on CMSIS-RTOS API V2.1.1.
- Added support for Cortex-A.
- Using OS Tick API for RTX Kernel Timer Tick.
- Fixed potential corruption of terminated threads list.
- Corrected MessageQueue to use actual message length (before padding).
- Corrected parameters for ThreadEnumerate and MessageQueueInserted events.
- Timer Thread creation moved to osKernelStart.

V5.1.0

- 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 RTX v5 Specific API.
- osRtx name-space for RTX specific symbols.

V5.0.0 | Initial release compliant to CMSIS-RTOS2.