如何使用Amazon FreeRTOS在边缘更新固件

 Amazon FreeRTOS帮助开发人员简化将物联网(IoT)设备连接到云的过程。但是,即使采用更简单的云连接,许多开发人员将面临的一个主要障碍是如何在现场更新其设备的固件。

 
Amazon FreeRTOS (a:FreeRTOS) 是一款适用于微控制器的操作系统,可以轻松地对低功耗的小型边缘设备进行编程、部署、安全保护、连接和管理。Amazon FreeRTOS 以 FreeRTOS 内核 (一款适用于微控制器的常见开源操作系统) 为基础,并通过软件库对其进行扩展,从而可以轻松地将小型低功耗设备安全连接到 AWS IoT Core 等 AWS 云服务或运行 AWS Greengrass 的功能更强大的边缘设备。
 
固件更新通常使用引导程序完成,引导程序可以基于设备体系结构和可用的通信外围设备以多种不同形式出现。由于引导加载程序很普遍并且几乎包含在每个嵌入式系统中,开发人员需要利用现有的解决方案,而不是从头开始开发。这使他们可以花更多的时间专注于自己的产品的差异化和功能。
 
本文将探讨开发人员如何利用内置于Amazon FreeRTOS(a:FreeRTOS)中的引导加载程序功能(通常称为无线更新(OTA))来快速获取在其物联网设备上运行的引导加载程序解决方案。
 
Amazon FreeRTOS的OTA更新概述
 
Amazon FreeRTOS是一个实时操作系统,其中包含了轻松连接到亚马逊网络服务(AWS)所需的所有库。亚马逊FreeRTOS基本上是FreeRTOS内核,现在已经包含了连接和安全库,以促进与AWS的安全通信。OTA功能包含在单独的OTA库中,并且必须单独配置才能包含在FreeRTOS下载中。
 
a:FreeRTOS OTA更新服务包含允许开发者进行以下操作所必需的软件:
 
部署前对固件进行数字签名和加密
 
将新固件映像安全地部署到单个设备,设备组或整个设备队
 
将设备添加到组中时将固件部署到设备,重新启动或重新设置
 
将新固件部署到设备后验证其真实性和完整性
 
监视部署的进度
 
调试失败的部署
 
这些功能通过各种运行的AWS服务提供,例如:
 
OTA管理器服务
 
AWS IoT工作服务
 
流媒体服务
 
代码签名Amazon FreeRTOS服务
 
OTA图书馆和代理
 
对于开发人员来说,让所有这些部分协同工作所需的步骤是相当大的,并且不可能在单篇文章中详细介绍。相反,本文将重点介绍如何开始学习经验教训以及获得a:FreeRTOS设置在实验室中工作的提示。
 
选择OTA测试硬件
 
FreeRTOS目前支持几种不同的开发板。这些开发工具包包括:
 
德州仪器的 SimpleLink Wi-Fi CC3220SF无线LaunchPad开发套件
 
Microchip Technology的 PIC32MZEF好奇心开发套件
 
意法半导体的 STM32L4 Discovery Kit IoT节点
 
恩智浦半导体的 LPC54018 IoT模块
 
Espressif Systems的 ESP32-DEVKITC开发套件
如何使用Amazon FreeRTOS在边缘更新固件
图1:德州仪器的CC3220SF-LaunchXL是一款完全集成的解决方案,可以开始使用Amazon FreeRTOS OTA。该微控制器具有集成的Wi-Fi模块,可最大限度地减小物理尺寸并最大限度地降低能耗。
 
本文将重点介绍SimpleLink Wi-Fi CC3220SF的几个不同原因。首先,CC3220SF是目前唯一一款具有集成Wi-Fi模块的FreeRTOS微控制器。虽然其他开发板具有板载Wi-Fi模块,但CC3220SF通过将控制器和Wi-Fi功能集成到单个芯片中,节省了电路板空间和能源。
 
其次,由于CC3220SF的外部存储设备可以存储固件映像并在引导过程中恢复映像,因此CC3220SF的安全特性非常有趣且更为复杂。如果读者能够成功地在CC3220SF上设置OTA,他们将不会在其他平台上运行。
 
最后,CC3220SF是OTA演示应用程序第一个支持的处理器,因此设计人员可以确信它已完全通过CC3220SF审核。
如何使用Amazon FreeRTOS在边缘更新固件
图2:J-Link Ultra +是一款功能齐全的专业调试器,包含无限制断点和极快的SWO和接口时钟速率。开发人员可以使用J-Link Ultra +执行应用程序跟踪,以便他们了解OTA示例的行为。
 
除了选择开发板之外,开发人员还可能决定放弃板载编程器并使用专业编程器,例如Segger Microcontroller Systems的J-Link Ultra +。专业程序员会降低程序速度并提供额外的调试功能,例如应用程序跟踪和RTOS感知调试,这对理解黑盒应用程序非常重要。开发人员还希望使用来自Tag-Connect的TC2015 10引脚插头,轻松将其连接至目标板。甲TC2050-ARM2010 20针对TC2050适配器可以在调试器,以适应基板侧电缆是必需的。
如何使用Amazon FreeRTOS在边缘更新固件