Tom Kelly
Today, at Re:Invent in Las Vegas, Amazon Web Services (AWS) introduced a new cloud-native Internet of Things (IoT) operating system for microcontrollers (MCUs) called Amazon FreeRTOS.
Amazon FreeRTOS is built around the FreeRTOS kernel, a popular open-source operating system for MCUs that makes low-powered edge nodes easier to program, enable, connect and monitor. Providing a common operating system for MCU-based devices, Amazon FreeRTOS also includes software libraries that in the future will make it easy to program common IoT capabilities into your devices, including support for over-the-air (OTA) updates and the ability to configure devices to the local network for easy deployment.
Today, TI also announced integration of Amazon FreeRTOS into the SimpleLink™ MCU platform. TI is one of the first companies to support the new operating system through the SimpleLink Wi-Fi® CC3220SF LaunchPad™ development kit (CC3220SF-LAUNCHXL). The SimpleLink CC3220SF wireless MCU is a single-chip wireless microcontroller with 1MB XIP Flash and 256KB of RAM, uniquely architected with low power and security features in mind. The SimpleLink wireless MCU has two physically separate on-chip execution environments – one running on the user application-dedicated host Arm® Cortex®-M4 MCU, and a second running on the network processor Arm Cortex-M3 MCU. The network processor takes care of all the Wi-Fi and internet logical layers, running advanced security features while offloading the host MCU - enabling a more secure connection from the chip to the cloud all with a single device.
The SimpleLink Wi-Fi wireless MCU offers a wide range of built-in security features which support all the requirements of Amazon FreeRTOS. Some of these features include SSL\Transport Layer Security (TLS) crypto cyphers (accelerated in CC3220SF device using a dedicated hardware crypto engine), support for X.509 certificates with the ability of mutual authentication (client and server) which is fully offloaded to the network processor with no intervention of the application processor, certificate catalog signed in hardware for a trusted certificate chain of trust, unique device ID and ability to create unique private/public key pair for device registration and authentication and more.
Most IoT software development kits (SDKs) for connecting embedded devices to cloud platforms contain a collection of source files implementing transport clients such as Message Queuing Telemetry Transport (MQTT), TLS implementation, and some examples for sending and receiving data to the cloud. In such solutions it is then up to the developer to create a project, integrate the SDK with another real-time operating system (RTOS), add user certificates and test the cloud connectivity.
Now with the Amazon FreeRTOS SDK running on TI’s CC3220SF wireless MCU LaunchPad kit, all of the above components and more are already integrated into a single package, reducing developers’ efforts and allowing them to easily take advantage of all the services that the AWS IoT and the SimpleLink MCU platforms has to offer.
At minimum, MCUs suitable for Amazon FreeRTOS would have at least 128KB of static random access memory (SRAM), 256KB of flash and at least a 48MHz central processing unit (CPU) clock. AWS assumes that the MCU is using the flash and SRAM for the Wi-Fi stack and network protocols. TI’s CC3220SF device more than meets these requirements with 1MB of XIP flash and 256KB of RAM, Arm Cortex-M4 CPU at 80MHz, and the Wi-Fi stack and networking protocols offloaded to the network processor MCU.
Table 1 is an example of one configuration that TI made for the CC3220SF wireless MCU and the resulting memory usage from using the Amazon FreeRTOS online configuration wizard.
Module | Code | Read-Only Data | Read/Write Data |
---|---|---|---|
Application | 9244 | 741 | 5127 |
FreeRTOS kernel | 16884 | 12 | 65658 |
MQTT | 12252 | 56 | 15748 |
SecureSockets | 4244 | 4653 | 8 |
Utilities | 216 | 0 | 3120 |
SimpleLink FreeRTOS | 5004 | 64 | 2873 |
TI Driver Lib | 12358 | 1087 | 759 |
Network Processor Lib | 20320 | 424 | 2253 |
ARM M4 Lib | 10298 | 505 | 412 |
Stack | 0 | 0 | 1024 |
TOTAL | 90.8KB | 7.5KB | 97.0KB |
To test your own configuration, you can log into the AWS console and access the online configuration wizard for Amazon FreeRTOS. Select the CC3220SF-LAUNCHXL LaunchPad kit and TI’s Code Composer Studio™ integrated development environment (IDE). Configure the features you would like to add to your IoT device and download the software components for your application. You can start developing with confidence, as TI has already taken the CC3220SF-LAUNCHXL development platform through the Amazon FreeRTOS qualification program with AWS.
TI PROVIDES TECHNICAL AND RELIABILITY DATA (INCLUDING DATASHEETS), DESIGN RESOURCES (INCLUDING REFERENCE DESIGNS), APPLICATION OR OTHER DESIGN ADVICE, WEB TOOLS, SAFETY INFORMATION, AND OTHER RESOURCES “AS IS” AND WITH ALL FAULTS, AND DISCLAIMS ALL WARRANTIES, EXPRESS AND IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT OF THIRD PARTY INTELLECTUAL PROPERTY RIGHTS.
These resources are intended for skilled developers designing with TI products. You are solely responsible for (1) selecting the appropriate TI products for your application, (2) designing, validating and testing your application, and (3) ensuring your application meets applicable standards, and any other safety, security, or other requirements. These resources are subject to change without notice. TI grants you permission to use these resources only for development of an application that uses the TI products described in the resource. Other reproduction and display of these resources is prohibited. No license is granted to any other TI intellectual property right or to any third party intellectual property right. TI disclaims responsibility for, and you will fully indemnify TI and its representatives against, any claims, damages, costs, losses, and liabilities arising out of your use of these resources.
TI’s products are provided subject to TI’s Terms of Sale (www.ti.com/legal/termsofsale.html) or other applicable terms available either on ti.com or provided in conjunction with such TI products. TI’s provision of these resources does not expand or otherwise alter TI’s applicable warranties or warranty disclaimers for TI products.
Mailing Address: Texas Instruments, Post Office Box 655303, Dallas, Texas 75265
Copyright © 2023, Texas Instruments Incorporated