Amazon FreeRTOS 可以帮助开发人员简化将物联网(IoT)设备连接到云的过程。然而,即使有更简单的云连接,许多开发人员面临的一个主要障碍仍然是如何现场升级其设备的固件。固件升级常常利用引导程序完成;基于设备架构和可用的通信外设,引导程序可能有多种不同形式。引导程序很普遍,几乎所有嵌入式系统中都有包括,因此开发人员需要利用现有解决方案,而不是从头开始开发。这樣,他們可以將更多時間投入到產品的差異化和特性上。
本文將探討如何使用內置於 Amazon FreeRTOS 中的引導程式功能(通常被稱為空中升級(OTA)來快速實現在物聯網設備上運行引導程式解決方案。
Amazon FreeRTOS 的 OTA 升級概述
Amazon FreeRTOS 是一種實時操作系統,其中包含了輕鬆連接 Amazon Web Services(AWS)所需的一切庫。Amazon FreeRTOS 本質上是 FreeRTOS 核心,現已包含連接和安全庫,以方便與 AWS 進行安全通訊。OTA 特性包含在單獨的 OTA 庫中,並且必須單獨配置才能包含在 a:FreeRTOS 下載中。
a:FreeRTOS OTA 升級服務包含必要軟體以便開發人員可以執行如下操作:
部署前對固件進行數字簽章和加密
將新固件映像安全地部署到單一設備、設備組或整個設備集群
當設備加入群組、重新啟動或重新配置時,将固件部署到設備中
將新固件部署後驗證其真實性和完整性
監視部署進度
調試失敗的部署
這些特性通過運行各種 AWS 服務來提供,如:OTA 管理器服務、AWS IoT 作業服務、串流服務等。
對開發人員而言,让所有这些部分协同工作所需的步骤是相当多的,无法在一篇文章中详细说明。本文将重点介绍如何入门,以及关于在实验室中成功设置 a:FreeRTOS 的一些经验教训和诀窍。
选择 OTA 測試硬體
a:FreeRTOS 目前支持多种开发板,它支持以下几个发展套装:
Texas Instruments 的 SimpleLink Wi-Fi CC3220SF-Wireless LaunchPad 发展套装。
Microchip Technology 的 PIC32MZ EF Curiosity 发展套装。
STMicroelectronics 的 STM32L4 Discovery 套装 IoT 节点。
NXP Semiconductors 的 LPC54018 IoT 模块。
Espressif Systems 的 ESP32 DEVKITC 发展套装。
图1:Texas Instruments’ CC3220SF-LaunchXL 是一个可以启动 Amazon FreeR