微波EDA网,见证研发工程师的成长!
首页 > 通信和网络 > 通信网络业界新闻 > OTA固件升级对于物联网设备的重要性

OTA固件升级对于物联网设备的重要性

时间:02-24 来源:3721RD 点击:

固定协议栈OTA bootloader的优点是:升级固件的时间较短,因为只能升级应用代码;其缺点是:即使部署后发现重大问题也无法升级协议栈代码。

可升级协议栈OTA bootloader – 在可升级协议栈bootloader系统中,协议栈和应用固件都能升级。虽然不同厂商实现bootloader的方式不同,但在一个典型的可升级协议栈系统中,存储器分为三个区:–

1.Launcher(启动器)区 – 基本上而言,launcher是一个无通信接口的引导加载程序。它负责检查是否需要引导加载,然后相应地将控制权交给协议栈区或应用区。如果有一个新协议栈映像,它还负责升级协议栈的存储区。

2.协议栈区 – 该区存储BLE协议栈。当主机设备有一个新映像时,协议栈区负责与主机设备通信。此外,该区与应用共享,用于建立BLE连接,该区即扮演引导加载程序区的角色,也扮演可应用程序区的角色。该区由launcher将新协议栈固件写入该区。然后,该区引导加载应用区。

3.应用区 – 与上述其它实现相同,该区是实际应用代码。

可升级协议栈OTA bootloader的运行分为三步:

第1步:图3显示了目标设备(即需要得到OTA升级的设备)和主机设备(即有新固件并负责将其发送给目标设备的设备)。目标设备使用其现有的BLE协议栈接收新的BLE协议栈。这个新的BLE协议栈存储在存储器的应用固件区。应用固件区被新的BLE协议栈覆盖,因为物联网设备的内存通常有限。增大内存会增加设备成本,而且出于引导加载原因而增大存储器也不合理。请注意,现有BLE协议栈不能被直接覆盖,因为这将破坏正与主机通信的现有协议栈代码,从而在升级结束前中断通信。

图3:第1步:现有协议栈从主机设备接收新协议栈,并将其写入应用存储器

第2步: launcher复制应用固件区的BLE协议栈,并将其写入现有BLE协议区(见图4)。此步结束时,BLE协议区将有新的BLE协议栈。

图4:第2步: Launcher使用新协议栈覆盖现有协议栈

第3步:目标设备使用新的BLE协议栈从主机设备接收新的应用固件,然后将其写入应用固件存储区(见图5)。

图5:第3步:新协议栈接收新应用固件,然后将其写入应用区

此步之后,目标设备固件的配置如图6所示,协议栈和应用固件升级全部结束。

图6:升级结束后,存储器有了新的BLE 协议栈和应用固件

可升级协议栈bootloader的一大优势是:部署产品后,允许升级协议栈和应用。

还可以根据OTA Bootloader用于存储更新的固件映像的存储器对它们进行分类:

1.内部存储器OTA bootloader

2.外部存储器OTA bootloader

内部存储器OTA bootloader – 对于这种类型的引导加载程序,更新后的固件映像 – 新的BLE协议栈及应用固件或新的应用固件 – 被直接写入设备的内部闪存。本文至此所描述的引导加载程序架构都基于内部存储器。此类引导加载程序的优势是:无需外部存储器,因此降低了升级功能的实现成本。

外部存储器OTA bootloader – 对于外部存储器OTA bootloader,现有协议栈接收新的应用固件或新的协议栈固件及应用固件。它们被存储在外部存储器中。在以后的某个时刻,根据存储器类型(I2C、SPI或其它串口存储器),设备使用一个有线接口从外部存储器读取新固件,然后升级内部闪存。这种方式增加了外部存储器的总成本,用于设备内部存储器有限但却需要升级其协议栈的情况。请注意,在某些应用中协议栈大于应用固件。

为某个物联网应用选择组件时,必需了解芯片厂商和开发工具所支持的OTA固件升级方法。评估一个配备内部存储器的设备时,基于内部存储器的OTA升级是一种经济高效的方法。某些设备可能不允许升级协议栈,只允许升级应用固件。某些可升级协议栈OTA bootloader架构可能只允许单独升级协议栈或应用固件,从而缩短升级时间。在为您的应用选择设备时,最好提前了解这些局限性。

对设备固件进行OTA升级时,通过在空中传输,容易遭受攻击。因此,必需确保主机设备只与相关目标设备通信。此外,应对空中传输的数据进行加密,以便让其它监听BLE通信的设备无法解码这些数据。BLE 4.2改进了安全机制,能够更好地防范中间人攻击和被动监听攻击,降低IP被盗或设备被黑客劫持的风险。如果使用的是一个旧版BLE,明智的做法是手动增加一个加密层,以保护您的IP免遭被动监听。

总而言之,物联网市场中的产品需求比传统产品变化更快。此外,已得到广泛普及的BLE通信标准仍在不断演进,芯片厂商需要较长时间来支持新特性。将产品更快推向市场的压力也可能影响测试时间或产品的现场试验。鉴于这些原因,在部署产品后,OTA固件升级可让开发人员随着时间的推移增强产品功能,并修补产品缺陷。最后,选择可满足您的应用需求、保护您的IP的OTA固件升级方法也非常重要。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top