揭秘FreeRTOS OTA现场总线技术解析与实用技巧大公开
AmazonFreeRTOS可以显著简化物联网设备与云端连接的过程,但面临的主要挑战之一是如何安全地在现场进行固件升级。引导程序是完成固件升级的关键组成部分,它们以多种形式存在于不同的设备架构和通信外设中。为了最大限度地利用现有解决方案,减少开发时间用于产品差异化和特性开发,本文将探讨如何使用AmazonFreeRTOS内置的引导程序功能(通常称为OTA)来快速实现物联网设备上的引导程序解决方案。
首先,我们需要了解AmazonFreeRTOS是一款实时操作系统,它包含了连接到AWS所需的所有库。此外,OTA特性位于单独的OTA库中,这必须单独配置才能包含在a:FreeRTOS下载中。a:FreeRTOS OTA升级服务提供了必要的软件,使得开发人员能够执行数字签名、加密新固件映像、安全部署到单个设备或群体,以及验证其真实性和完整性。
对于选择硬件而言,虽然其他平台具有板载Wi-Fi模块,但Texas Instruments’ SimpleLink Wi-Fi CC3220SF-LaunchXL由于其集成Wi-Fi模块、物理尺寸最小化以及能耗降低,被选为本文重点介绍对象。这不仅节省了电路板空间,还提高了安全特性的复杂度。如果读者能够成功设置CC3220SF上的OTA,那么他们将不会遇到其他平台的问题。此外,由于CC3220SF是支持OTS演示应用第一款处理器,因此设计人员可以信赖它已经被全面审查。
除了硬件之外,专业编程器如Segger Microcontroller Systems' J-Link Ultra+也被推荐,因为它们提供无限制断点调试、高速SWO接口时钟速率,以及应用跟踪功能,以便理解OTA示例如何工作。Tag-Connect's TC201510 引脚钉式插头则允许轻松将编程器连接到目标板,而可能需要TC2050-ARM201020 引脚适配器转接TC2050以连接板侧电缆。
为了配置AmazonFreeRTOS并实现OTA升级,默认情况下,OTA库未包含在预配置包中,因此开发人员必须手动添加这些库和应用。在AWS IoT控制台中,可以通过点击“Create new”按钮开始创建自定义配置。在此过程中,只需设置几项即可激活 OTA 特性,其中包括选择硬件、选择含有 a: FreeRT OS 库以及设置配置名称。
一旦完成这些步骤,便可创建配置并下载,然后将 aws_demos 项目导入代码调试器。在aws_demos 中运行 OTA 示例非常简单,只需修改一个函数,将注释从 vStartMQTTEchoDemo 调用移至 vStartOTAUpdateDemoTask 调用,并进行快速编译构建项目,即可启用引导程序功能并执行项目。
最后,对嵌入式软件开发人员来说,要运行 OTA 示例,他们还需要根据 OTA 先决条件指南 配置 AWS。这涉及创建 Amazon S3 存储桶、授予 AWS 帐户 OTA 升级权限、创建 OTA 服务角色以及用户策略,并授予访问代码签名服务权限等步骤。