Amazon FreeRTOS:如何利用内置引导程序功能实现物联网设备的OTA升级
在物联网(IoT)时代,云连接已变得越来越简单,但现场固件升级仍然是一个挑战。FreeRTOS提供了一种解决方案,即通过其OTA特性,可以轻松实现设备上的引导程序更新。本文将探讨如何利用Amazon FreeRTOS中的引导程序功能快速部署和管理OTA解决方案。
首先,我们需要了解Amazon FreeRTOS及其OTA特性。它是一款实时操作系统,包含了与AWS通信所需的库。FreeRTOS内核结合了连接和安全库,使得与AWS进行安全通信成为可能。为了使a:FreeRTOS支持OTA升级,我们必须单独配置并包含 OTA库,并在a:FreeRTOS下载中使用。
a:FreeRTOS OTA服务包括数字签名、加密、部署新固件映像到单个或多个设备,以及验证新固威映像的真实性和完整性等功能。这一切都可以通过AWS服务如OTA管理器、IoT作业服务、串流服务以及代码签名服务来实现。
选择合适的开发板是成功设置a:FreeRTOS OTA的一部分。目前,它支持多种开发板,如Texas Instruments' SimpleLink Wi-Fi CC3220SF LaunchPad Development Kit,Microchip Technology's PIC32MZ EF Curiosity Development Board,STMicroelectronics' STM32L4 Discovery Suite IoT Node等。
本文将重点介绍Texas Instruments' SimpleLink Wi-Fi CC3220SF LaunchPad Development Kit,因为它是唯一集成Wi-Fi模块且具有最佳能效和空间节约能力的微处理器。此外,由于CC3220SF集成了Wi-Fi模块,其安全特性更为复杂,如果读者能够在此平台上成功设置OTA,那么其他平台上的问题也相对容易解决。此外,由于CC3220SF是第一款支持演示应用的处理器,所以设计人员可以放心,这款处理器已经被全面审查过。
除了选择合适的开发板之外,还需要专业编程器,如Segger Microcontroller Systems' J-Link Ultra+,以便执行应用跟踪并理解黑盒应用。此外,可以使用Tag-Connect's TC201510 pin header adapter以便轻松连接编程器至目标板,并使用TC2050-ARM201020 pin adapter转接TC2050以兼容SEGGER J-LINK调试器。
配置Amazon FreeRTOS以实现OTA升级通常涉及手动添加 OTA 库到预配置 a: FreeRTOS 包中。在 AWS IoT 控制台中创建自定义配置时,只需几项设置即可完成整个过程,这些包括选择硬件平台(如 Texas Instruments’ CC3220SF-LAUNCHXL)、添加 OTA 库,以及设置配置名称等。
最后,本文还会指导读者如何修改 aws_demos 项目以运行 OTA 演示任务,并解释了如何根据 AWS 的先决条件指南进行云端配置,以确保成功运行 OTA 示例。这包括创建 Amazon S3 存储桶、授予 AWS 帐户访问权限、创建 OTA 服务角色以及用户策略等步骤。