历史上的今天
返回首页

历史上的今天

今天是:2025年01月25日(星期六)

2021年01月25日 | 如何利用亚马逊云进行OTA更新

2021-01-25 来源:beningo

自嵌入式系统问世以来,现场固件更新一直是每个嵌入式系统的关键组件。访问诸如JTAG或SWD编程器之类的编程工具以及对编程端口进行物理访问通常需要使用额外接口(如USB,CAN,串行端口等)来更新固件。随着许多设备现在可以访问Internet并成为IoT设备,越来越需要执行无线更新。在今天的帖子中,我们将使用Amazon Web Services(AWS)和FreeRTOS看看如何进行OTA。


使用AWS的OTA概述


OTA更新可能会使开发人员第一次(或多次)遇到更新感到有些恐惧,该过程涉及很多部分,但总体而言,OTA流程可以分解为以下所示的简单图表:


image.png?imageView2/2/w/550

图片来源:Beningo Embedded Group


如您所见,固件更新包含三个主要部分:


发布新固件更新的OEM

存储并更新AWS

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


显然,在此示例中,AWS在整个过程中扮演着非常重要的角色。首先,将新的固件映像上传到S3存储桶,该存储桶用于存储固件映像。接下来,将新固件添加到S3存储桶中,OEM将使用IoT核心版调度一项作业,该作业将通知已部署的设备有可用的固件更新。最后,已部署的设备下载新映像,对其进行验证,然后更新其应用程序代码。届时,将更新设备并运行新的应用程序代码,直到进程重新启动并且有新的更新可用为止。


微控制器中的OTA支持


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


AWS OTA解决方案的一个好处是,许多微控制器供应商都支持该解决方案。例如,如果您要访问AWS合作伙伴设备目录,您会发现有数十家芯片供应商合作伙伴支持了近60种不同的开发板。现在,并非所有这些都支持OTA解决方案,但是相当一部分支持。这为开发人员提供了广泛的设备可供选择,此外,开发人员还可以将示例移植到其他处理器上。


OTA功能和能力


在过去的几周中,我将特别在Infineon / Cypress PSoC 64 Standard Secure–AWS Wi-Fi BT Pioneer Kit上尝试通过FreeRTOS来测试AWS OTA演示代码。我提到此套件是因为从安全角度来看,它特别有趣,因为它们不仅支持“传统” OTA或引导加载程序,而且还尽力确保不仅可以安全地更新固件,还确保引导微控制器上的处理过程建立了安全的信任根。


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


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


微控制器建立信任根

微控制器包括一个安全的引导程序(用于验证完整性,验证和解密映像)

固件映像可以加密

易于生成固件更新

易于管理已部署设备的数量


结论


OTA更新正迅速成为几乎所有物联网设备的要求。这些解决方案可帮助开发人员以最少的精力在现场更新固件,从而使他们比起引导加载程序和OTA等通用设备设计元素,将更多的精力放在产品上。在尝试使用Cypress PSoC 64开发板和AWS OTA演示进行实验时,我发现我能够配置AWS和开发板在第一次进行固件更新的时间大约为一个小时,这很不错,因为从头开始启动这样的解决方案通常需要几个月的时间。

推荐阅读

史海拾趣

台湾晶豪(ESMT)公司的发展小趣事

随着电子行业的不断发展,晶豪科技也积极应对市场变化。公司扩大代工厂的晶圆开工规模,以满足不断增长的客户需求。这一举措不仅使公司能够更灵活地应对市场波动,还为客户提供了更稳定的产品供应。同时,随着晶圆开工量的增加,公司的销售额也实现了稳步增长。

智浦欣(Chipstar)公司的发展小趣事

为了进一步提升公司的技术实力和品牌影响力,智浦欣公司积极寻求与国际知名企业的合作机会。经过多次沟通和洽谈,公司成功与一家国际知名半导体企业达成了战略合作协议。双方将在技术研发、产品推广和市场开拓等方面展开深度合作。通过这一合作,智浦欣公司不仅获得了宝贵的技术支持和市场资源,还进一步提升了其品牌形象和市场份额。

Coors Components Inc公司的发展小趣事

在某个关键项目的研发过程中,Coors Components Inc公司遇到了前所未有的技术难题。然而,公司的研发团队并没有因此而气馁,他们通过加强内部沟通、分享经验以及相互支持,最终成功攻克了难关。这一经历不仅增强了团队的凝聚力,也为公司培养了一批忠诚且能力出众的员工。

E-CMOS(飞虹高科)公司的发展小趣事

在技术创新的同时,飞虹高科公司也积极拓展市场。然而,市场拓展的过程并非一帆风顺。公司面临着来自国内外众多竞争对手的激烈竞争,同时还要应对客户不断变化的需求。为了应对这些挑战,公司制定了一套完善的市场营销策略,积极参加国内外各类电子展会和技术交流活动,与客户建立了长期稳定的合作关系。同时,公司还不断优化产品性能和服务质量,提高客户满意度。通过这些努力,公司逐渐在市场上树立了良好的品牌形象。

广东爱晟电子(exsense)公司的发展小趣事

随着业务的不断拓展,爱晟电子意识到品质是品牌的核心。公司引进了先进的生产设备和管理体系,严格按照ISO9001质量体系运作,确保产品质量的稳定性和可靠性。同时,公司还加强了对原材料的质量控制,与国内外优质供应商建立了长期稳定的合作关系。这些举措使得爱晟电子的产品在市场上赢得了良好的口碑,品牌影响力逐渐增强。

Anderson Power公司的发展小趣事

2020年新冠疫情期间,爱晟电子积极响应政府号召,全力支持抗疫工作。公司不仅向抗疫一线捐赠了防疫物资,还组织员工参与志愿服务。同时,公司还利用自身的技术优势,研发出适用于医疗设备的NTC热敏电阻,为抗击疫情提供了有力支持。这些行动彰显了爱晟电子的社会责任感和担当精神。

问答坊 | AI 解惑

滤波器设计经典资料

本帖最后由 paulhyde 于 2014-9-15 09:00 编辑 滤波器设计的经典资料,非常详细  …

查看全部问答>

sig9000如何使用?

请问:sig9000 如何用?…

查看全部问答>

单片机与MC45(GPRS模块)建立连接的通信协议RS232怎么用C语言实现啊

如题,我做的课题是PIC单片机与MC45连接实现短信收发,现在对RS232协议标准有所了解,但是不知道如何用C语言实现,还有,它们之间的连接是近距离连接,还是远距离连接呢…

查看全部问答>

SPI问题,大家给指点,谢谢!!

  我做STM32和STC12LE5412的SPI通讯,STM32在接受到USART1发出的0x55后就连续发送20个字节,但是在发送第一个字节的时候要将NSS拉低(NSS脚被软件配置为用户自用),接着将剩余的19个字节发送出去。STM32为主,STC12为从。 &nb ...…

查看全部问答>

【TI原创】基于LM3S811和TEA5767芯片的收音机实现

    用到的是飞利浦的TEA5767的收音机模块,在网上搜了下相关的内容,发现很多人都在问,可是提供编程指导的很少,可能是高手都不屑回答这些小问题吧,在这里我把我的部分程序及TEA5767的相关资料放上来吧,给需要的人一些参考 TEA5767采 ...…

查看全部问答>

易电源试用第一帖

我的两个模块分别是LMZ12002TZ Demo Board和LMZ10501模块,另外两个芯片上无丝印,型号未知。 这一周主要是翻了翻芯片的datasheet,把eeworld传到优酷网上的视频全部看了一遍。按照美国国家半导体的工程师的说法,感觉易电源芯片真的很优秀。 把 ...…

查看全部问答>

基于sensorTag的EE智能家居系统

EE智能家居系统    首先,感谢坛友让出sensorTag设备才让我有机会加入这个活动,由于是日期较晚(2012-04-21号才开启sensorTa创意设计),相对其他人来说可能做得不是那么精致~!    在拿到sensorTag后,马上开始行动。环境的 ...…

查看全部问答>

关于PCF8591中的ad转换模块的问题

想把滑动变阻器的电压转化为数字信号,我就想把这些数字信号反应在led灯上,比较容易观察,方便收集嘛,可是,编了老半天,试验后,发现有时变阻器的不同位置对应相同的数字信号。还有就是变化不明显,走了一小段距离,le灯才变一次,可是我是想采 ...…

查看全部问答>

【TIVA C Launchpad 学习笔记五】DAC7611驱动程序

/******************************************* 开发坏境:CCSv5.4 开发板:TIVA C Launchpad(TM4C123GH6PM) 程序功能:DAC7611 程序说明: 编程者:Linchpin ********************************************/ #include #include #include \" ...…

查看全部问答>

【PSoC Creator 模拟设计实用教程】--EEWORLD大学堂

PSoC Creator 模拟设计:https://training.eeworld.com.cn/course/2004本视频介绍了采用PSoC Creator进行模拟设计的各种技巧和注意事项。目录 …

查看全部问答>