揭秘FreeRTOS OTA神技一文让你掌握can通讯与485通讯精髓解锁设备更新新境界
AmazonFreeRTOS可以显著简化物联网设备与云服务的连接过程,但面临的主要挑战之一是如何安全地在现场进行固件升级。引导程序升级通常依赖于设备架构和可用通信接口,且其形式多样。为了最大限度地节省时间并专注于产品差异化和特性开发,开发人员应利用现有解决方案而不是从头开始。
本文将探讨如何利用AmazonFreeRTOS内置的OTA功能快速实现物联网设备上的引导程序解决方案。我们将重点介绍选择合适的测试硬件、配置OTA库以及设置OTA示例代码,以便在实验室中成功部署a:FreeRTOS。
首先,我们需要选择一个支持a:FreeRTOS OTA的开发板,如Texas Instruments' SimpleLink Wi-Fi CC3220SF-LaunchPad或Microchip Technology's PIC32MZ EF Curiosity Development Board等。这些板载Wi-Fi模块,可以减少物理尺寸和能耗,并提供更好的安全性和复杂性。此外,CC3220SF-LaunchPad是目前唯一集成Wi-Fi模块的a:FreeRTOS微型系统,它通过单一芯片集成Wi-Fi功能,从而节省了电路板空间和能耗。
除了硬件之外,还需使用专业编程器如Segger Microcontroller Systems' J-Link Ultra+来执行应用跟踪,以便了解OTA示例如何工作。此外,Tag-Connect's TC201510引脚钉式插头可以轻松将编程器连接到目标板,而调试器可能需要TC2050-ARM201020引脚适配器来转接TC2050以连接板侧电缆。
配置Amazon FreeRTOS以实现OTA升级时,默认情况下,OTA库未包含在预配置的a:FreeRTOS包中,因此必须手动配置这些库和应用。在AWS IoT控制台中,可以点击“Create new”按钮开始创建自定义配置,然后选择硬件平台、包含a:FreeRTOS库并设置配置名称。在库部分,需要添加OTA库,这将包含所有必要的 OTA 库文件及演示示例。
完成上述操作后,便可创建并下载此自定义软件包,然后导入aws_demos项目至代码调试器。在aws_demos项目中,将vStartMQTTEchoDemo调用添加注释,同时取消vStartOTAUpdateDemoTask调用注释,然后进行快速编译以构建项目,在启用引导程序功能的情况下,该项目即可运行(图7)。
最后,对于嵌入式软件开发人员,要运行 OTA 示例,还需根据AWS IoT先决条件指南对 AWS 进行相应配置。这包括创建 Amazon S3 存储桶、授予 AWS 帐户 OTA 升级权限、创建 OTA 服务角色及用户策略,以及授予访问代码签名服务权限等步骤。