CMSIS-FreeRTOS: Introduction

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

- Main Page
- Usage and Description
- Reference

All Functions Groups Pages
Introduction

FreeRTOS is one of the market leading real-time operating systems (RTOS) for embedded microcontrollers. It is professionally developed, strictly quality controlled, robust, supported (archive), free to use in commercial products without a requirement to expose proprietary source code, and has no IP infringement risk.

CMSIS-RTOS v2 is a common API for real-time operating systems (RTOS). It provides a standardized programming interface that is portable to many RTOS and enables software components that can work across multiple RTOS systems. It supports the Armv8-M architecture, dynamic object creation, for multi-core systems, and has a binary compatible interface across ABI compliant compilers.

Using this software pack, users can choose between a native FreeRTOS implementation or one that is adhering to the CMSIS-RTOS2 API and using FreeRTOS under the hood. The CMSIS-RTOS2 API enables programmers to create portable application code to be used with different RTOS kernels (for example Keil RTX5).

This documentation shows you:

- how to create a new microcontroller project using FreeRTOS from scratch.
- Various Example projects show you the usage of FreeRTOS in native and CMSIS-RTOS2 mode.
- the Technical data and limitations of this implementation.

# License

The CMSIS-FreeRTOS implementation is provided free of charge by Arm under the FreeRTOS license.

# ARM::CMSIS-FreeRTOS Pack

The ARM::CMSIS-FreeRTOS pack contains the following:

File/Directory | Content
--- | ---
CMSIS/Documentation | This documentation.
CMSIS/RTOS2 | CMSIS-RTOS2 compliant implementation of FreeRTOS.
Config | FreeRTOS configuration header file.
License | FreeRTOS license agreement.
Source | FreeRTOS kernel source code.
ARM.CMSIS-FreeRTOS.pdsc | Package description file in CMSIS-Pack format.