嵌入式开发:使用 AWS 和 FreeRTOS 进行无线更新

更新时间: 2022-02-24 07:10:00来源: 粤嵌教育浏览量:10106

  即使是最早的嵌入式系统,现场更新固件也一直是一个关键组件。嵌入式开发人员访问 JTAG 或 SWD 编程器等硬件接口工具可提供对嵌入式系统编程端口的物理访问。固件更新的其他访问方法包括 USB、汽车 CAN、串行端口等接口。随着越来越多的嵌入式设备成为物联网的一部分,无线端口连接变得越来越重要。在今天的文章中,我们将探讨使用 Amazon Web Services (AWS) 和 FreeRTOS 的无线、空中 (OTA) 通信。


  使用 AWS 的 OTA 概述


  OTA 更新在开发人员第一次遇到它们时可能会有点吓人。虽然这个过程有些复杂,但它可以分解成相当简单的组件。



  将 OTA 流程分解为简单的元素


  固件更新包括三个主要部分:


  发布新固件更新的 OEM。

  存储固件映像并促进更新的 AWS。

  接收固件更新的已部署设备。


  AWS 在整个过程中扮演着非常重要的角色。新的固件映像上传到用于存储固件映像的简单存储服务 (S3) 存储桶。接下来,OEM 使用 IoT Core 安排一个作业,通知已部署的设备有可用的固件更新。最后,部署的设备下载新镜像,对其进行验证,然后更新其应用程序代码。此时,设备会更新并运行新的应用程序代码,直到进程重新启动并且有新的更新可用。


  微控制器中的 OTA 支持


  老实说,概述使 OTA 更新看起来很简单,这是因为所有繁重的工作都已经为嵌入式开发人员完成了。如果一个团队决定从头开始构建自己的解决方案,他们会发现他们将投入大量的开发工作。团队真的不想构建自己的 OTA 解决方案,而是利用现有的解决方案,以便他们可以专注于自己的产品功能和差异化。对于计划使用 FreeRTOS 的团队,他们可以利用 Amazon 的 FreeRTOS 库和 OTA 示例以极快的速度启动和运行 OTA 解决方案。


  AWS OTA 解决方案的一个优点是它得到了许多微控制器供应商的支持。例如,如果你访问 AWS 合作伙伴设备目录,你会发现有近三成芯片供应商合作伙伴,支持近 60 种不同的开发板!现在,并非所有这些都支持 OTA 解决方案,但有不少支持。这为开发人员提供了相当广泛的设备可供选择,并且确实没有什么可以阻止嵌入式开发人员将示例移植到不受支持的处理器上。



  OTA 特性和功能


  并非所有 OTA 或引导加载程序解决方案都是平等的,而且在许多情况下,都有定制和配置的空间。例如,PSoC 64 OTA 演示默认配置为为推送到 S3 存储桶的固件提供标准二进制文件输出。但是,在Cypress工具链中,有一个 Secure SDK 工具,其中包含多个可用于加密固件映像的策略。然后,板载安全引导加载程序的设备在将新固件映像写入闪存之前对其进行解密和验证。


  在查看适用于微控制器的潜在 OTA 解决方案时,应牢记以下几个特性:


  微控制器建立信任根

  微控制器包含一个安全引导加载程序(用于验证完整性、验证和解密图像)

  固件镜像可以加密

  易于生成固件更新作业

  易于管理已部署设备的队列


  结论


  OTA 更新正迅速成为几乎所有物联网设备的要求。这些解决方案可帮助嵌入式开发人员以最小的努力在现场更新他们的固件,这使他们能够更多地关注产品,而不是引导加载程序和 OTA 等常见设备设计元素。

免费预约试听课