0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

浅谈OTA升级原理及应用

9GxC_IoTMaker 来源:未知 2022-11-23 23:20 次阅读

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

所谓固件升级,是指对底层的软件进行修改、替换从而使得硬件增加新功能或者更好的工作(修复和改善)。固件又叫做韧体,英文是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升级原理及应用

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

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

    关注

    2

    文章

    573

    浏览量

    26363

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

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

收藏 人收藏

    评论

    相关推荐

    ESP8266 OTA升级错误的原因?

    ]OTA_ADDR 4480 [OTA]write 3 OK -->OTA_upgrade 上位机的LOG 找到设备9800 正在传输升级包1915/1 正在传输数据
    发表于 07-19 07:35

    OTA升级后重启,printf日志错误的原因?

    OTA升级后重启,printf日志错误。
    发表于 07-18 06:26

    OTA升级从user2.bin ota升级到user1.bin失败了的原因?

    使用NONOS SDK 2.0从从user1.bin ota升级到user2.bin成功,反过来就会失败,下面是log: system_upgrade_start upgrade_connect
    发表于 07-11 08:00

    ESP8266 OTA升级失败的原因?

    我正在使用自定义服务器来升级 esp8266。我可以从服务器下载图像,但总是升级失败。 我将以下.bin文件下载到闪存中(下载前,我擦除整个闪存): ------------ 2 MByte
    发表于 07-11 07:45

    ESP8266 OTA升级不成功的原因?

    我正在使用最新的 RTOS SDK 版本 1.5 ESP8266。我使用自定义服务器进行OTA升级。 有时 OTA 升级成功,有时即使闪烁了正确的图像,
    发表于 07-10 06:14

    如何在ESP8266上运行OTA升级

    在 ESP8266 (ESP-12F) 上运行 OTA 升级
    发表于 07-10 06:13

    ESP-IDF是否支持基于BLE的OTA升级

    节点需要切换到WiFi才能完成HTTP升级,ESP-IDF是否支持基于BLE的OTA升级
    发表于 06-12 07:49

    ESP-IDF4.4 OTA升级失败的原因?

    ESP-IDF4.4 OTA 功能,在启动OTA功能后下载固件过程中出现wifi无Internet访问,然后很快网络恢复,需要等待很久后OTA升级失败。
    发表于 06-06 08:19

    ESP IDF OTA升级失败的原因?

    ESP IDF 5.1.1,官方OTA例程,升级过程中失败,tcp拉取文件中断,有遇到类似情况的吗,日志如下: I (59717) ota: ota url:http://www.x
    发表于 06-05 07:27

    ZDP1440系列小技巧—如何OTA差分升级显示素材?

    ZDP1440是一款基于开源GUI引擎的图像显示专用驱动芯片,支持U盘、SD卡本地升级UI固件,同时也支持通过UART/SPI方式进行OTA升级,本文将介绍如何OTA差分
    的头像 发表于 05-06 14:01 804次阅读
    ZDP1440系列小技巧—如何<b class='flag-5'>OTA</b>差分<b class='flag-5'>升级</b>显示素材?

    技术帖 | RK3568开发板的OTA升级教程

    说起OTA我们应该都不陌生,它是一种可以为设备无损失升级系统的方式,能将新功能远程部署到产品上。我们不仅可以通过网络下载OTA升级包,也可以通过下载
    的头像 发表于 04-20 08:01 1531次阅读
    技术帖 | RK3568开发板的<b class='flag-5'>OTA</b><b class='flag-5'>升级</b>教程

    请问BlueNRG ota升级ota_sw_activation变量上电是随机值吗?

    最近在看BlueNRG ota升级代码时有一个疑惑,ota_sw_activation变量是一个未初始化的值,按照ram特性上电应该是一个随机值,那么在
    发表于 03-13 08:29

    汽车ota升级有什么用 汽车ota功能有必要吗

    汽车OTA(Over-The-Air)升级是指通过无线网络进行汽车软件系统的远程更新和升级。传统上,汽车的软件系统需要通过专门的设备或者到车辆所在的服务中心来进行升级,非常不便捷。而
    的头像 发表于 02-18 14:39 1173次阅读

    ota升级是什么意思 ota升级有什么用

    OTA(Over-the-Air)升级是指通过无线网络,将软件、固件或系统的新版本传输到支持的设备上进行更新和安装的过程。这一技术广泛应用于手机、智能电视、汽车等各类智能设备中。本文将详细介绍OTA
    的头像 发表于 02-02 10:25 5334次阅读

    如何通过雅特力AT32WB415的蓝牙模块来进行OTA升级

    概述OTA(Over-The-AirTechnology)即空中下载技术,利用OTA技术可以在不接触(接线)的情况下对芯片程序进行升级。AT32WB415的OTA是通过蓝牙的方式实现的
    的头像 发表于 12-20 08:15 793次阅读
    如何通过雅特力AT32WB415的蓝牙模块来进行<b class='flag-5'>OTA</b><b class='flag-5'>升级</b>