Amazon FreeRTOS:如何利用内置引导程序功能实现物联网设备的OTA升级
在物联网(IoT)时代,云连接已变得越来越简单,但现场固件升级仍然是一个挑战。FreeRTOS提供了一种解决方案,即通过其OTA特性实现设备上的引导程序更新。本文将探讨如何利用FreeRTOS中的引导程序功能快速部署解决方案。
Amazon FreeRTOS概述
Amazon FreeRTOS是实时操作系统,它包含了与AWS通信所需的全部库。它基于FreeRTOS内核,并集成了连接和安全库,以便安全地与AWS进行通信。OTA特性位于单独的OTA库中,需要单独配置才能包含在a:FreeRTOS下载中。
a:FreeRTOS OTA服务包括必要的软件,使得开发人员能够执行以下操作:
对固件进行数字签名和加密。
安全地部署新固件映像到单个设备、设备组或整个集群。
当设备加入组、重新启动或重新配置时,将固件部署到目标设备。
验证部署后的真实性和完整性。
监视部署进度。
调试失败的部署。
这些特性通过运行多种AWS服务提供,如OTA管理器服务、AWS IoT作业服务、串流服务和代码签名服务。虽然让所有部分协同工作对开发人员来说是一项复杂任务,但本文将专注于入门以及实验室环境下成功设置a:FreeRTOS的一些经验教训和技巧。
选择硬件
目前,a:FreeRTOS支持多种开发板,包括Texas Instruments SimpleLink Wi-Fi CC3220SF Wireless LaunchPad development kit, Microchip Technology PIC32MZ EF Curiosity Development Board, STMicroelectronics STM32L4 Discovery Kit IoT Node, NXP Semiconductors LPC54018 IoT Module and Espressif Systems ESP32 DEVKITC.
图1:Texas Instruments' CC3220SF-LaunchXL is a fully integrated solution that can run Amazon FreeRTOS OTA.
由于CC3220SF是唯一集成Wi-Fi模块的微处理器,本文将重点介绍SimpleLink Wi-Fi CC3220SF. 该开发板具有外部存储,可以存储固件映像并在引导过程中恢复映像,因此其安全特性意义重大且更为复杂。如果读者能在CC3220SF上成功设置OTA,那么其他平台也不会有问题。此外,CC3220SF是首款支持演示应用处理器,因此设计人员可以放心,这款处理器已经被全面审查。
调试工具
除了选择合适的硬件之外,专业编程器如Segger Microcontroller Systems' J-Link Ultra+也是必需品。这款调试器会降低程序速度并提供额外功能,如应用跟踪和RTOS感知调试,对理解黑盒应用非常重要。开发人员还可以使用Tag Connect's TC201510脚钉式插头轻松连接编程器,而可能需要TC2050-IDC10脚钉式插头以转接TC2050至板侧电缆。
配置 Amazon FreeR