人物探索FreeRTOS OTA特性的技巧与诀窍在工业现场总线的应用中

Amazon FreeRTOS 可以帮助开发人员简化将物联网(IoT)设备连接到云的过程。然而,即使有更简单的云连接,许多开发人员面临的一个主要障碍仍然是如何现场升级其设备的固件。 固件升级常常利用引导程序完成;基于设备架构和可用的通信外设,引导程序可能有多种不同形式。引导程序很普遍,几乎所有嵌入式系统中都有包括,因此开发人员需要利用现有解决方案,而不是从头开始开发。这樣,他們可以將更多時間投入到產品的差異化和特性上。

本文将探讨开发人员如何利用内置于Amazon FreeRTOS(a:FreeRTOS)中的引导程序功能(常被称为空中升级(OTA)),来快速实现在其物联网设备上运行引导程序解决方案。

a:FreeRTOS 的OTA 升级概述

Amazon FreeRTOS 是一种实时操作系统,其中包含了轻松连接 Amazon Web Services(AWS)所需的全部库。a:FreeRTOS 本质上是 FreeRTOS 内核,现已包含连接和安全库,以方便与 AWS 进行安全通信。OTA 特性包含在单独的 OTA 库中,必须单独配置才能包含在 a:FreeRTOS 下载中。

a:FreeRTOS OTA 升级服务包含必要的软件以便开发人员可以执行如下操作:

部署前对固件进行数字签名和加密

将新固件映像安全地部署到单一设备、设备组或整个设备集群

当设备加入组中、重新启动或重新配置时,将固件部署到设备中

将新固尺部署到设备后验证其真实性和完整性

监视部署进度

调试失败的部署

这些特性通过运行各种 AWS 服务来提供,如:OTA 管理器服务、AWS IoT 作业服务、串流服务等。

对于开发人员而言,让所有这些部分协同工作所需的步骤是相当多得,不可能在一篇文章里详细说明。本文将重点介绍如何入门,以及关于在实验室中成功设置 a:FreeRTOS 的一些经验教训和诀窍。

选择 OTA 测试硬件

a:FreeRTOS 目前支持多种发展板。一旦选定板子,就要准备好相应环境如 J-link 等调试器以及适配器电缆,因为调试过程需要这些工具。在这里,我们会使用 Texas Instruments 的 SimpleLink Wi-Fi CC3220SF-LaunchPad 开发套件作为示例,这是一个全集成解决方案,可以最大限度地减小物理尺寸并降低能耗(图1)。

出于多方面原因,本文将重点介绍 SimpleLink Wi-Fi CC3220SF-LaunchPad。这款微集成了 Wi-Fi 模块,使得它不仅节省了电路板空间还能降低能耗。此外,它们具有复杂且意义重大的一点,即它们能够存储固件映像并在引导过程恢复映像,从而增加了它对于安全性的重要性。如果读者能够在 CC3220SF 上成功设置 OTA,那么其他平台上的问题也不会存在(图2)。

除了选择合适硬件之外,还需要放弃板载编程器,而使用专业编程器,如 Segger Microcontroller Systems 的 J-link Ultra+(图3)。这类编程器不仅速度快,而且提供额外调试功能,比如应用跟踪,这对于理解黑盒应用非常重要。此外,还可以使用 Tag-connect 的 TC201510 引脚钉式插头来轻松将编程器接至目标板,并且可能需要 TC2050-IDC10 引脚钉式插头作为转接电缆以确保正确安装(图4)。

配置 Amazon FreeRT OS 以实现 OTA 升级

默认情况下,OTA 库未包含预配置 a:free RTOS 包内。但是,由于我们已经选择了一个具体硬盘,所以我们只需按照以下步骤进行:

登录 AWSIoT 控制台。

进入 “Create new” 按钮创建自定义配置。

在该界面上,我们只需要设置几项就能完成对 OT A 功能设置:

选择硬盘类型:CC3220SF-LAUNCHXL。

添加 OT A 库文件至“Libraries”部分,以便获取演示代码参考或者直接采纳其中内容。

完成以上操作后,你就可以下载你的自定义配置,然后将 aws_demo_project 导入代码调试器进行进一步测试。你首先应该根据官方指南为终端、证书及安全密钥做好准备,然后再进入实际操作阶段修改演示代码以支持 OT A 更新任务,并最终构建项目用于测试(图5).

最后,在这个基础上,我们只是简单地告诉你如何把原来的 DEMO_RUNNER_RunDemos 函数修改为 DEMO_RUNNER_RunOTADemoTask 函数,并删除掉 vStartMQTTEchoDemo 调用,但是这是一个比较关键的地方,它决定了我们的目的是什么,以及我们想要达到的效果是什么。在这一点上,你不能忽略任何细节,因为如果没有正确地处理这一变化,你就无法达到你希望达到的目的,也就是说,如果你的目标是在不同的场景下实现 firmware 更新,那么你必须了解每个更新都是怎样发生以及为什么发生这样的变化。(图6)

通过这样一步一步逐渐深入了解免费 rtos 中 ota 功能及其实施方式,对于理解并有效运用 ota 技术来说,是非常关键的一步。而这正是本文想要传递给读者的信息——让他们知道无论是在什么样的环境下,都有一些基本原则或者方法,可以让他们更容易掌握技术,更高效地推动产品向前发展。(图片7)

总结一下,在本篇文章里,我们提到了 amazon freertos 这个框架下的 ota 技术及其实现方式,同时结合了一些实际案例分析比如 simplelink wi-fi cc3220sf-launchpad 开发套装作为我们的研究对象,并展示了一些具体步骤指导用户如何去理解并熟练运用这种技术。在此基础之上,我们还强调了技术学习与实践之间关系紧密的一点,即只有不断深挖了解每一个环节,每一次尝试都会带给你新的启发,为你日后的工作打下坚实基础。当你真正学会掌握某项技能时,不仅仅是一次学习结束,更是一个开始,一段旅程刚刚拉开帷幕。而这,就是我今天想说的。我希望我的话语能够激励你们,无论未来走向何方,都要保持好奇心,不断追求卓越!

标签: 数码电器测评