揭秘FreeRTOS OTA运用技巧与窍门深度探究can通信神器的应用艺术
AmazonFreeRTOS可以显著简化物联网设备与云端连接的过程,但现场固件升级仍然是开发人员面临的一个挑战。引导程序在嵌入式系统中普遍存在,开发人员通常会利用现成的解决方案,而不是从头开始。AmazonFreeRTOS内置了OTA功能,可以帮助快速部署引导程序解决方案。本文将探讨如何使用a:FreeRTOS中的OTA特性进行设备上运行引导程序的实践。
AmazonFreeRTOS概述
AmazonFreeRTOS是一个实时操作系统,它包含了所有与AWS通信所需的库。它基于FreeRTOS内核,并且已包含了连接和安全库,以便于安全地与AWS通信。OTA特性位于单独的OTA库中,需要单独配置才能包含在a:FreeRTOS下载中。
a:FreeRTOS OTA服务提供了一系列软件工具,使得开发人员能够执行以下操作:数字签名和加密固件、安全部署到单个设备或群组、监测并验证部署进度、调试失败等。此外,还有多种AWS服务支持这些功能,如OTA管理器服务、AWS IoT Jobs Service 和串流服务。
虽然让所有这些部分协同工作涉及许多步骤,但本文将专注于入门以及一些实验室设置经验教训和技巧。在选择硬件方面,a:FreeRTOS目前支持多种开发板,如Texas Instruments' SimpleLink Wi-Fi CC3220SF Wireless LaunchPad Development Kit 等(图1)。本文将重点介绍SimpleLink Wi-Fi CC3220SF,因为它集成了Wi-Fi模块,减小物理尺寸并降低能耗。
除了硬件选择之外,专业编程器如Segger Microcontroller Systems' J-Link Ultra+也很重要。这款编程器提供无限断点能力,以及极快的SWO和接口时钟速率,有助于理解如何通过应用跟踪来观察OTA示例(图2)。
配置 Amazon Free RTOS 进行 OTA 升级
默认情况下,OTA库不包括在预配置的a: FreeRT OS包中。开发人员必须手动配置这些库和应用。这包括登录 AWS IoT 控制台,将其用于创建一个新的自定义配置(图4),然后添加 OTA 库作为所选 a: FreeRT OS 库之一(图6)。
完成此操作后,开发人员可以创建该配置并下载,然后将 aws_demos 项目导入代码调试器。一旦导入aws_demos OTA 示例,便需要执行若干任务,比如修改演示代码以启用 OTA 更新任务,然后进行编译以构建项目,在引导程序功能启用的情况下,该项目便可执行。(图7)
最后,对于成功运行 OTA 示例而言,还需要根据先决条件指南对 AWS 进行正确的设置,这包括创建 Amazon S3 存储桶、授予 AWS 帐户 OTA 升级权限等。此外,还需要创建 OTP 服务角色和用户策略,以及授予访问代码签名服务器等权限。
总结
通过了解如何利用 Amazon Free RTOS 的 内置 引导程序功能实现设备上的更新,我们可以更高效地为物联网设备实现远程更新,从而确保我们的产品保持最新状态,同时节省时间去关注差异化特性。此外,本指南还展示了如何使用不同类型硬件平台来实现相同目的,并且强调了正确设置 AWS 以支持远程更新至关重要。