浅谈OTA升级原理及应用

电子说

1.3w人已加入

描述

机智云

随着智能设备的普及,从手机系统手动升级到路由器自启动升级,甚至是汽车内的智能设备升级,那么固件升级到底是什么呢?通过什么原理来实现固件升级的呢?有哪些常见的固件升级方式?今天,咱们来一探究竟。

所谓固件升级,是指对底层的软件进行修改、替换从而使得硬件增加新功能或者更好的工作(修复和改善)。固件又叫做韧体,英文是firmware。

固件一般存储于设备中的电可擦除只读存储器EEPROM(Electrically Erasable Programmable ROM)或FLASH芯片中,一般可由用户通过特定的刷新程序进行升级的程序。一般来说,担任着一个数码产品最基础、最底层工作的软件才可以称之为固件,比如计算机主板上的基本输入/输出系统BIOS(Basic Input/output System),在以前其实更多的专业人士叫它固件。

通常这些硬件内所保存的程序是无法被用户直接读出或修改的。在以前,一般情况下是没有必要对固件进行升级操作的,即使在固件内发现了严重的Bug也必须由专业人员带着写好程序的芯片把原来机器上的更换下来。这是因为早期固件芯片一般采用了ROM设计,它的Firmware代码是在生产过程中固化的,用任何手段都无法修改。

随着技术的不断发展,修改固件以适应不断更新的硬件环境成了用户们的迫切要求,所以,可重复写入的可编程可擦除只读存储器EPROM(Erasable Programmable ROM),EEPROM和flash出现了。这些芯片是可以重复刷写的,让固件得以修改和升级。

机智云

与此同时,随着无线通信技术和芯片技术的发展,固件升级的方式也越来越方便,从用传统的编程器刷入固件的方式来更新,拓展至通过外部的接口接线更新(如通过USB、SPI通信接口),以及通过无线方式升级(即OTA升级,如通过蓝牙、Wi-Fi等方式,不再需要手动连线)。

因此,方便快捷的OTA技术,来更新版本、优化体验、让产品保持先进性,成为了智能硬件产品的必要手段之一。

比如说

手机厂商通过OTA升级,将最新版的操作系统自动推送到客户的设备,而手动更新会通知用户有关可用升级的信息,用户可以接受或拒绝在其设备上下载和安装新的软件版本。
与此类似的是汽车厂商通过OTA升级,将车辆的各项性能进行提升,而无须将车辆召回至门店,可以节省大量费用,用户可以通过远程升级提升车辆性能和体验。
随着物联网在智能家电等消费电子产品上的应用,我们也能看到智能音箱、扫地机器人会自动更新功能,还是OTA技术在起作用。

在生活中,在使用这些智能产品的时候,有的需要我们手动确认才会自动升级,有的则会自动检测更新升级,这背后是什么原因呢?

原来是操作方式的不同

一种是后台式升级

即在进行升级的时候,接收新固件包的方式是在后台进行的,不会影响功能的正常执行。等到固件更新完成之后,再跳转到Bootloader中去用新的固件替换旧的固件,替换完成之后呢再跳转到App去执行。
比如,现在的智能手机的在线更新就是后台式升级的方式。在你升级系统的时候,接收升级包的过程中,你还是可以正常使用的手机的,打电话、看视频、玩游戏等都不耽误,直到下载完成,你点击了开始更新之后,手机才进入更新状态,不让你操作,等更新完毕之后重启就又可以继续操作了。

另一种是非后台式式更新

即在进行升级的时候,接收固件时需要跳转到Bootloader,这个时候你不能在使用这个产品的任何功能,只能一直等着它接收并完成更新,完成之后你才能继续操作其他的功能。
比如说有的智能音箱、扫地机器人,在你隔了很久没用再打开的时候,开机的话很可能会自动提示xxx在升级,请您耐心等待一会儿。

不管哪种操作方式,主要流程几乎如出一辙

  • 制造升级包

  • 下载升级包

  • 验签升级包

  • 固件更新

在实现这些流程的过程中,不仅需要全面考虑如何才能接收固件、如何保证固件的完整性和合法性、如何替换固件,还要固件向下兼容设计、版本管理、固件推送统计和分布,这些需要端+云+业务逻辑三方配合,也涉及到芯片、OS、连接和场景等多种方面,会大大增加OTA研发成本。因此,大部分企业会考虑借助第三方平台来完成OTA升级。

为了让智能设备高效、安全、稳定的实现升级,机智云推出OTA升级服务,支持多种定向升级策略,如按批次、按地域、按原固件版本等条件进行远程推送,解决智能设备出厂后的持续升级要求,优化产品性能,提升体验感。

企业只需通过机智云开发者中心,在线添加推送固件及规则,完成验证固件,确认开始推送,待推送完成,即可在线查询推送结果。还能根据流水号查看推送详情,在线进行版本推送管理,通过图表形式查看版本分布情况。

机智云

机智云的OTA服务功能如下:

  • OTA通知服务,即离线升级。当设备的固件程序有新版本发布,OTA 通知服务会推送升级通知到设备。

  • OTA透传服务,即在线升级。设备固件程序通过M2M 消息服务透传到设备端。

  • 支持一个产品同时有多个推送。

  • 支持Wi-Fi/MCU升级。

  • 支持推送全部设备。

  • 支持定向升级设备。可指定设备mac地址、区域、旧固件版本进行推送。

  • 支持定时推送。可自定义推送周期及推送时段。

  • OTA版本推送记录。

  • OTA进度统计分析。

登陆 dev.gizwits.com ,体验机智云OTA服务

OTA使用指南 devdocs.gizwits.com/zh-cn/ProductDev/AddProduct/CreatProduct.html




相关推荐:

  ◆  科普|为什么说中低速应用场景要选Cat.1

  ◆  开发者案例|GC211实现MCU开发和OTA升级

  ◆  开发案例|家用热水器智能化改造记

  ◆  开发者案例|老年人饮水状况监测系统

  ◆  如何在线创建一个智慧网关,实现多品牌不同协议的互联互通

技术交流:

◆ 机智云开发者:www.gizwits.com
◆ 机智云开发者社区:club.gizwits.com
◆ 官方淘宝店:

http://shop159680395.taobao.com/index.htm

机智云


原文标题:浅谈OTA升级原理及应用

文章出处:【微信公众号:机智云开发者】欢迎添加关注!文章转载请注明出处。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分