揭秘FreeRTOS OTA运用技巧与窍门解析一文探索Can总线协议奥秘
AmazonFreeRTOS可以显著简化物联网设备与云服务的连接过程,但现场固件升级仍然是开发人员面临的一个挑战。引导程序在嵌入式系统中普遍存在,开发者通常会利用现成的解决方案,而不是从头开始。AmazonFreeRTOS内置了OTA功能,允许快速部署引导程序解决方案。本文将探讨如何利用a:FreeRTOS中的OTA特性进行OTA升级。
AmazonFreeRTOS概述
AmazonFreeRTOS结合了实时操作系统和AWS所需的安全通信库,是一个包含连接和安全功能的轻量级操作系统。其OTA特性位于单独的OTA库中,需要单独配置才能包含在a:FreeRTOS下载中。
a:FreeRTOS OTA升级服务提供数字签名、加密、部署新固件映像到单个设备或群组、验证真实性和完整性,以及监控部署进度等功能。这通过AWSIoT作业服务、串流服务以及代码签名服务实现。
入门指南
选择合适的开发板是首要任务。目前支持多种开发板,如TexasInstruments SimpleLink Wi-Fi CC3220SF LaunchPad、Microchip Technology PIC32MZ EF Curiosity Development Board等。在这些平台上,特别是TexasInstruments' CC3220SF-LaunchXL,它集成了Wi-Fi模块,可以最大限度地减小物理尺寸并降低能耗。
专业编程器如Segger Microcontroller Systems J-Link Ultra+用于调试。此外,还需要使用Tag-Connect TC201510 引脚钉式插头来连接编程器,并可能需要TC2050-ARM201020 引脚适配器以转接TC2050。
配置 Amazon Free RTOS 为了实现 OTA 升级
默认情况下,OTA库不包括在预配置的 a: Free RTOS 包中,因此开发人员必须手动配置这些库和应用。在 AWS IoT 控制台中创建自定义配置后,只需设置几项就能配置 OTA 特性,这包括选择硬件平台添加 OTA 库,并设置其他必要参数。
设置 OTA 示例代码
一旦导入 aws_demos 项目,便需要执行若干任务,如修改 DEMO_RUNNER_RunDemos 函数以运行 vStartMQTTEchoDemo 和 vStartOTAUpdateDemoTask,然后进行快速编译构建项目,以便于启用引导程序功能并运行示例代码(图7)。
云端准备工作
成功运行 OTA 示例还要求对 AWS 进行相应设置。这涉及创建 Amazon S3 存储桶授予 AWS 帐户 OTA 升级权限 创建 OTA 服务角色 创建用户策略 并授予访问代码签名服务权限等操作(详见《AWS IoT 设备软件先决条件指南》)。