FreeRTOS OTA特性使用技巧与诀窍十种现场总线技术的智者也能学到新东西
Amazon FreeRTOS 可以帮助开发人员简化将物联网(IoT)设备连接到云的过程。然而,即使有更简单的云连接,许多开发人员面临的一个主要障碍仍然是如何现场升级其设备的固件。 固件升级常常利用引导程序完成;基于设备架构和可用的通信外设,引导程序可能有多种不同形式。引导程序很普遍,几乎所有嵌入式系统中都有包括,因此开发人员需要利用现有解决方案,而不是从头开始开发。这样,他们可以将更多时间投入到产品的差异化和特性上。
本文将探讨如何使用内置于 Amazon FreeRTOS 中的引导程序功能(通常称为空中升级, OTA)来快速实现在其物联网设备上运行引导程序解决方案。
Amazon FreeRTOS 的OTA概述
Amazon FreeRTOS 是一种实时操作系统,其中包含了轻松连接 Amazon Web Services (AWS) 所需的全部库。它本质上是 FreeRTOS 内核,现已包含连接和安全库,以方便与 AWS 进行安全通信。OTA 特性包含在单独的 OTA 库中,必须单独配置才能包含在 a:FreeRTOS 下载中。
a:FreeRTOS OTA 升级服务包含必要的软件,以便开发人员可以执行以下操作:
部署前对固件进行数字签名和加密
将新固件映像安全地部署到单一设备、设备组或整个设备集群
当设备加入组中、重新启动或重新配置时,将固件部署到设备中
将新固件部署后验证其真实性和完整性
监视部署进度
调试失败的部署
这些特性通过运行各种 AWS 服务提供,如:OTA 管理器服务、 AWS IoT 作业服务、串流服务 和代码签名服务。
选择 OTA 测试硬件
a:FreeRTOS 目前支持多种开发板,它支持包括 Texas Instruments 的 SimpleLink Wi-Fi CC3220SF-Wireless LaunchPad 开发套件 在内的一系列套装。此外,还包括 Microchip Technology 的 PIC32MZEFCuriosity 开发套件、 STMicroelectronics 的 STM32L4Discovery 套接节点 和 NXP Semiconductors 的 LPC54018IoT 模块 等等。
图1:Texas Instruments 的 CC3220SF-LaunchXL 是一个可以启动 Amazon FreeRTOS 空中升级(OTA)的全集成解决方案,该微集成一个 Wi-Fi 模块,大大减小了物理尺寸并降低能耗。
由于多方面原因,本文将重点介绍 SimpleLink Wi-Fi CC3220SF。这不仅因为它目前是唯一集成了 Wi-Fi 模块且能够存储固件映像并在引导过程中恢复映像,所以具有更高层次的事务处理能力。此外,由于它被设计成为演示应用所必需,其性能已经得到了全面审查。在其他平台上成功设置 OTA 后,这样的经验教训也会非常宝贵。
除了选择合适硬体之外,还需要放弃板载编程器而使用专业编程器,如 Segger Microcontroller Systems 的 J-Link Ultra+ 或者 Tag-connect TC2050-IDC10 引脚钉式插头等,可以让调试更加精细,并提高效率,对理解黑盒应用至关重要。