You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Mark Tuttle eb9caf9d98
Advance litani submodule for CBMC proofs (#725)
1 day ago
.github [AUTO][RELEASE]: Bump file header version to "202111.00" 4 weeks ago
FreeRTOS Advance litani submodule for CBMC proofs (#725) 1 day ago
FreeRTOS-Plus Add variable PKCS11 label support to using_mbedtls_pkcs11 (#723) 2 weeks ago
tools [AUTO][RELEASE]: Bump file header version to "202111.00" 4 weeks ago
.editorconfig Add unity memory extension, fake_assert, and enable -fsanitize=address (#506) 10 months ago
.gitignore Add uncrustify github workflow (#659) 5 months ago
.gitmodules Updated HTTP S3 download demo to show SigV4 usage (#696) 3 weeks ago
FreeRTOS+TCP.url Update version number in +TCP code. 3 years ago
GitHub-FreeRTOS-Home.url Maintenance -- clean up readme.txt and add url to GitHub. (#38) 2 years ago
History.txt History.txt update (#706) 4 weeks ago Updated contributions guidelines (#12) 2 years ago
Quick_Start_Guide.url Add quick start guide. 9 years ago Update README for release (#708) 4 weeks ago
Upgrading to FreeRTOS V10.3.0.url 2 years ago
Upgrading-to-FreeRTOS-9.url Add Pearl Gecko demo. 6 years ago
Upgrading-to-FreeRTOS-10.url Update to MIT licensed FreeRTOS V10.0.0 - see 4 years ago
Upgrading-to-FreeRTOS-V10.4.0.url Added some URL files and move submodule pointer along (#254) 1 year ago
lexicon.txt Add variable PKCS11 label support to using_mbedtls_pkcs11 (#723) 2 weeks ago
manifest.yml Enable C89 flag for unit tests (#718) 3 weeks ago

The FreeRTOS 202111.00 release adds examples demonstrating the use of FreeRTOS Cellular Interface. The release also adds an example that demonstrates a method of minimizing the time an application spends in privileged mode in FreeRTOS ports on microcontrollers (MCU) with Memory Protection Unit (MPU) support.

Getting started

The website contains a FreeRTOS Kernel Quick Start Guide, a list of supported devices and compilers, the API reference, and many other resources.

Getting help

You can use your Github login to get support from both the FreeRTOS community and directly from the primary FreeRTOS developers on our active support forum. The FAQ provides another support resource.

Cloning this repository

This repo uses Git Submodules to bring in dependent components.

Note: If you download the ZIP file provided by the GitHub UI, you will not get the contents of the submodules. (The ZIP file is also not a valid git repository)

If using Windows, because this repository and its submodules contain symbolic links, set core.symlinks to true with the following command:

git config --global core.symlinks true

In addition to this, either enable Developer Mode or, whenever using a git command that writes to the system (e.g. git pull, git clone, and git submodule update --init --recursive), use a console elevated as administrator so that git can properly create symbolic links for this repository. Otherwise, symbolic links will be written as normal files with the symbolic links' paths in them as text. This gives more explanation.

To clone using HTTPS:

git clone --recurse-submodules

Using SSH:

git clone --recurse-submodules

If you have downloaded the repo without using the --recurse-submodules argument, you need to run:

git submodule update --init --recursive

Repository structure

This repository contains the FreeRTOS Kernel, a number of supplementary libraries including the LTS ones, and a comprehensive set of example projects. Many libraries (including the FreeRTOS kernel) are included as Git submodules from their own Git repositories.

Kernel source code and example projects

FreeRTOS/Source contains the FreeRTOS kernel source code (submoduled from

FreeRTOS/Demo contains pre-configured example projects that demonstrate the FreeRTOS kernel executing on different hardware platforms and using different compilers.

Supplementary library source code and example projects

FreeRTOS-Plus/Source contains source code for additional FreeRTOS component libraries, as well as select partner provided libraries. These subdirectories contain further readme files and links to documentation.

FreeRTOS-Plus/Demo contains pre-configured example projects that demonstrate the FreeRTOS kernel used with the additional FreeRTOS component libraries.

Previous releases

Releases contains older FreeRTOS releases.

FreeRTOS Lab Projects

FreeRTOS Lab projects are libraries and demos that are fully functional, but may be experimental or undergoing optimizations and refactorization to improve memory usage, modularity, documentation, demo usability, or test coverage.

Most FreeRTOS Lab libraries can be found in the FreeRTOS-Labs repository.

A number of FreeRTOS Lab Demos can be found in the FreeRTOS Github Organization by searching for "Lab" or following this link to the search results.

coreMQTT Agent Demos

The FreeRTOS/coreMQTT-Agent-Demos repository contains demos to showcase use of the coreMQTT-Agent library to share an MQTT connection between multiple application tasks.

The demos show a single MQTT connection usage between multiple application tasks for interacting with AWS services (including Over-the-air-Updates, Device Shadow, Device Defender) alongside performing simple Publish-Subscribe operations.