The FreeRTOS 202104.00 release introduces the new coreMQTT Agent library, and includes all the Long-Term Support (LTS) libraries that are part of the FreeRTOS-LTS 202012.01-LTS release. Learn more about the FreeRTOS 202012.01 LTS libraries at https://freertos.org/lts-libraries.html.
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, set
core.symlinks to true since copying a directory with symlinks may cause hangups:
git config --global core.symlinks true
To clone using HTTPS:
git clone https://github.com/FreeRTOS/FreeRTOS.git --recurse-submodules
git clone email@example.com:FreeRTOS/FreeRTOS.git --recurse-submodules
If you have downloaded the repo without using the
--recurse-submodules argument, you need to run:
git submodule update --init --recursive
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 https://github.com/FreeRTOS/FreeRTOS-Kernel).
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.
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.
coreMQTT Agent Demos
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.