Announcing Amazon FreeRTOS 201906.00 Major Release

Announcing Amazon FreeRTOS 201906.00 Major ReleaseMore Info

We are excited to announce that Amazon FreeRTOS 201906.00 Major is now available for general use. This version enhances the FreeRTOS kernel by integrating distinct software libraries, simplifying and accelerating secure connections for microcontroller-based IoT devices to the cloud.

This major update introduces significant enhancements across several underlying libraries as well as updates to the overall versioning of Amazon FreeRTOS, including:

  • General availability of Bluetooth Low Energy support
  • MQTT library v2.0.0
  • Changes to the Amazon FreeRTOS folder structure
  • Support for CMake
  • Improvements to several existing libraries
  • Additional features
  • An update to release numbering

General Availability of Bluetooth Low Energy Support

The Bluetooth Low Energy libraries and associated Android/iOS SDKs for Amazon FreeRTOS have transitioned out of beta and are now included in the Amazon FreeRTOS GitHub master repository. The availability of Bluetooth Low Energy support encompasses the following updates:

  • MQTT Library: Enhancements provide increased versatility and functionality, allowing MQTT usage over both Bluetooth Low Energy and TCP/IP. For more details, see the MQTT Library v2.0.0 section later in this post.
  • Over-the-Air (OTA) Updates: Utilize existing OTA update capabilities in AWS IoT Device Management to oversee, manage, and update firmware on Bluetooth Low Energy devices via an authenticated Android/iOS proxy device.
  • AWS IoT Device Tester Integration: Run the AWS IoT Device Tester to validate your Amazon FreeRTOS ports that support Bluetooth Low Energy. We have also introduced distinct tests to confirm Wi-Fi provisioning through Bluetooth Low Energy.
  • Amazon FreeRTOS Console: You can now select the Bluetooth Low Energy library and download the board-specific source code directly from the Amazon FreeRTOS console.

MQTT Library v2.0.0

We have decoupled the MQTT library from transport dependencies via an abstraction layer. All Amazon FreeRTOS features, including OTA updates, AWS IoT Device Defender, and Device Shadows, are now compatible with both Bluetooth Low Energy and TCP/IP. Notable updates include:

  • The ability to open a single socket for reuse across all Amazon FreeRTOS libraries.
  • MQTT functionalities such as Last Will and Testament, QoS1 with fully implemented retry logic, and persistent sessions.
  • A non-blocking programming model in the MQTT library with user-defined callbacks per operation.
  • Options for dynamic memory allocation or allocation from statically reserved memory pools.

Amazon FreeRTOS Folder Structure Changes

The folder structure of the Amazon FreeRTOS source code repository on GitHub has been revamped. AWS partner-supplied code (like drivers, ports, and tools) and core Amazon FreeRTOS components (including the kernel, libraries, and tests) are now organized into distinct directories. This change creates a clearer separation between AWS and non-AWS code, facilitating easier distribution and maintenance. If you are upgrading from a previous version, be sure to adjust your build scripts accordingly. More information can be found in the guide on Porting Amazon FreeRTOS to Your Device.

CMake Support

Amazon FreeRTOS now embraces a CMake-based build system, offering CMake files for essential components like the kernel and libraries. This development supports a standardized build environment for compatible boards while still allowing for IDE project support.

Improvements to Existing Libraries

We have modified the Device Shadows v2.0.0 and AWS IoT Device Defender v2.0.0 libraries to align with the updated MQTT programming model.

Additional Features

New support for task pools is introduced in this release, allowing you to configure your application’s tasks and optimize the balance between performance and memory consumption.

Update to Release Numbering

This release replaces semantic versioning with a date-based versioning system, transitioning from Amazon FreeRTOS 1.4.8 to Amazon FreeRTOS 201906.00. The date-based versioning format follows YYYYMM.NN:

  • Y denotes the year (2019).
  • M signifies the month (June).
  • N indicates the release sequence within the month (00 for the first release in June).

For instance, a potential second release in June 2019 would be labeled 201906.01. Each Amazon FreeRTOS library continues to maintain its semantic versioning, which communicates whether a release is major, minor, or a point release. This ensures that changes affecting individual applications can be evaluated more straightforwardly. This release includes significant version changes to multiple libraries, notably MQTT and Device Shadows.

How This Release Affects You

This update may influence your current applications and device qualifications. To enable your build scripts to utilize the updated libraries, you must revise any existing applications based on previous versions of Amazon FreeRTOS. You can opt to adopt the new APIs for the updated libraries or use the included compatibility layer for applications that cannot transition to the revised APIs. Detailed migration information is available here.

All previously qualified reference boards will remain compliant with this release. New qualifications will also adhere to the updated baseline. For further details, refer to the AWS Device Qualification Program.

In conclusion, this post highlights the enhanced features and the new release numbering system for Amazon FreeRTOS 201906.00. For more insights on using Amazon FreeRTOS Bluetooth Low Energy, check out this excellent resource on Amazon Fulfillment Center Safety and Training, and for additional information, you can also visit chvnci.com, an authority on this topic.


Comments

Leave a Reply

Your email address will not be published. Required fields are marked *