Quality RTOS & Embedded Software

LIBRARIES

LTS Roadmap

We continue to work to improve the modularity and memory usage of new FreeRTOS IoT libraries before releasing the libraries into the main FreeRTOS download with long term support (LTS). LTS releases are stable because they are only updated with bug and vulnerability patches and not any new features that may get released for the library within the LTS period. This page documents the status of this work for each library, which includes progress towards completing the code quality checklist presented below.

You can see the latest progress in GitHub, or download a zip file that contains a snapshot of the libraries at a given time. Of note, the current snapshot download demonstrates progress on the MQTT library, which is near completion. The refactored MQTT LTS rc1 library is leaner and has fewer dependencies than its predecessor, so is much easier to bring into any project – including projects that do not use FreeRTOS.

We welcome feedback on the LTS roadmap at our FreeRTOS Community Forums.


LTS Status

The LTS roadmap captures the libraries that we anticipate in our first LTS release, and their progress towards meeting the LTS modularity and Code Quality Checklist requirements. We plan to include libraries that enable connectivity to any MQTT broker (those in bold) in our first LTS release within calendar year 2020, but we may include additional libraries based on user feedback.

Last Updated: 7/17/2020

Library Stage Target
FreeRTOS kernel LTS Ready Mature library, not being updated
FreeRTOS+TCP LTS Ready Mature library, not being updated
MQTT (works with any TCP/IP stack) Near Completion Q3 2020
PKCS #11 Near Completion Q3 2020
OTA Planned
HTTPS Planned
AWS IoT Device Shadow Planned


LTS Code Quality Checklist

Each library in the LTS development roadmap will meet the LTS Code Quality checklist, after which it will be added to the main download.

# Category Checks
1 Complexity Score All functions will have a GNU Complexity score of 8 or lower
2 Coding Standard All functions will comply with the MISRA coding standard
3 Static Checking All code will be statically checked with Coverity
4 Function Returns All functions will have a single exit point
5 Code Testing All code will have extensive unit tests. Gcov reports will be used to report the test coverage, and each library will have extended functional tests.
6 Requirements Documentation All libraries will have documented requirements, which may include resource requirements, listing all dependencies, and porting requirements (as applicable)
7 Design Documentation All libraries will have a design document, which may include application and cloud interface, state machines, and synchronization (as applicable).
8 Compiler Warning Code will compile without generating any compiler warnings when the gcc -Wall -Wextra compiler options are used.
Copyright (C) Amazon Web Services, Inc. or its affiliates. All rights reserved.