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

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

3天内不再提示

基于MCU的差分升级实现方案解析

STM32单片机 来源:搜狐网 作者:搜狐网 2020-10-13 11:59 次阅读

随着物联网设备智能化的发展,OTA升级已经成为了业界公认的基础能力,而OTA在设计和实现过程中需要依赖于物联网设备的硬件方案。物联网设备主流的硬件方案为:

1. 直接基于通讯芯片/模块开发的方案,用户升级的主要目标是通讯芯片/模块。艾拉比在设备端有基于UA+UC的方式提供端云一体化的OTA解决方案。

2. 通过MCU/DSP/MPU等应用处理器/控制器和各类通讯模块开发的方案,用户升级的主要目标是这些应用处理器/控制器,通讯模块更多是透传管道。

其中,MCU作为主控处理器在物联网领域占着非常高的份额,广泛分布在智能家居、三表、工业等各个领域。在MCU的OTA升级方式上,部分客户实现方式为整包升级,甚至很多MCU产品是裸跑,并且是不升级的,当然这也和产品形态、功能特性、行业等相关。而差分升级相较于传统的的整包升级方式,有资源需求低、升级功耗低、升级时间短及下载流量少等诸多优势,越来越多的成为物联网升级的优选方案。举个例子,某客户MCU的Flash配置为64KB,自身APP固件为50KB,此时如果需要实现OTA升级,大多客户选择的方案是:

1.外挂一颗64KB或者128KB的Flash

2.选择一颗128KBFlash资源的MCU

而如果通过差分OTA升级,则在64KB Flash的MCU上直接可以实现,再加入5KB左右的差分升级算法后,还能剩余9KB左右空间来存储几KB的差分升级包,不增加硬件成本就可以实现OTA升级。

差分升级的实现方案

差分升级大多是通过在升级程序(Bootloader为主)中增加差分升级算法来实现,算法需要占用一些本地Flash和RAM资源。

差分升级又叫增量升级,顾名思义就是通过差分算法将源版本与目标版本之间差异的部分提取出来制作成差分包,然后在设备通过还原算法将差异部分在源版本上进行还原从而升级成目标版本的过程。差分升级方案不仅可以节省MCU内部的资源空间、还可以节省下载流程及下载和升级过程中的功耗。从另一个角度说,通过将差分部分下发到设备保证了版本的安全性。

在过去几年,艾拉比一直致力于将差分升级赋能给更多行业客户,比较主流的差分算法集成的方式是通过SDK的形式提供差分升级能力,客户需要将差分升级SDK集成到设备Bootloader中,有一定的集成开发量。这种方式的好处是客户可以自己根据API进行定制开发一些功能,但是MCU的碎片化导致这种集成开发方式成本较高,客户集成使用也相对有些要求,适配和测试周期也比较长,因此艾拉比基于大量MCU系统的认识、以及对OTA的理解推出一种更简便,更易用的,相对标准化的优化方案。

MCU差分升级的优化实现方案UB产品

UB(Upgrade Bootloader)产品是艾拉比基于MCU推出的独立标准化bootloader产品,内部集成了艾拉比最新的差分升级算法,烧录即可以使用,无需开发即可实现差分升级。

UB通过将差分升级算法在编译bootloader阶段集成进去,而这个编译和开发bootloader的过程,艾拉比直接提供一种图形化、零开发的云端制作工具来完成,从而使得MCU的产品可以用最简单的方式实现差分升级能力。

相较于整包升级大大节省了Flash资源,甚至可以省去外挂Flash或者更换更大资源MCU的物料成本。作为一款标准化的产品,艾拉比提供的在线制作工具可根据用户产品的硬件配置一键生成UB,省去了繁琐且碎片化的OTA适配成本,助力产品快速上市。此外,UB在确保OTA的安全性上还有很多考量。比如采用一芯一码技术,根据MCU内出厂不可更改的唯一ID,生成唯一安全激活码,确保设备差分功能的唯一性和升级过程的安全性。UB中集成的异常保护支持了防掉电/误操作等防变砖机制,确保升级万无一失。

UB的生成过程十分简便,用户根据选定的MCU型号和基本信息,通过界面化工具按步骤操作直接生成。操作流程如下:配置mcu的硬件信息->配置mcu的分区信息->一键生成UB。

目前艾拉比已经适配了ST主流的MCU型号。

UB的使用场景1)作为Bootloader的使用场景 该场景用户无需再额外开发一个Bootloader,直接使用UB来引导启动程序,当有版本需要升级时跳转至升级流程,由UB 来控制跳转。 2)作为独立子系统的使用场景 该场景用户已经根据需求制作出一个Bootloader,那么可以将UB作为一个独立的升级子系统或者是二级Bootloader,当MCU需要升级时由Bootloader跳转至UB来进行升级。

UB的成功案例—NB IOT燃气表

我们结合表计行业的成功案例看一下UB如何在整表产品中使用:案例中需要升级的是MCU上的主控程序。

STM32 MCU烧录艾拉比OTA UB ,一方面可以作为Bootloader来引导系统启动,另一方面可以实现差分升级。差分升级包的获取方式有两种情况,一种通过NB模块从平台获取;一种通过近场的红外模块将差分升级包传输至设备。

1)通过NB模块从平台获取

此种方式需要在应用层集成平台连接组件,其中对网络调用通过NB-IOT模块的AT指令完成,NB-IOT模块只进行数据透传实现网络连接。NB-IOT表计包含应用和历史数据、配置数据等区域,升级过程只升级应用区域,数据区不做任何改变。

2)通过近场模块传输

在艾拉比在线差分平台制作完差分包后下载至本地。然后通过手持红外设备将差分包传输至表记中来实现升级,避免拆表等工作。

UB产品,是艾拉比产品和研发团队基于OTA的深刻洞见后的创新成果,从物联网终端客户的实际使用场景出发,不断为客户提高OTA使用率,降低OTA开发成本及资源成本,让OTA能够在物联网中发挥关键价值。艾拉比始终坚持深耕OTA领域,通过持续的技术变革与服务水平,为客户提供更稳定、更安全、更简单的OTA服务。

责任编辑人:CC

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

    关注

    544

    文章

    7669

    浏览量

    344183
  • mcu
    mcu
    +关注

    关注

    145

    文章

    15979

    浏览量

    343222
  • STM32
    +关注

    关注

    2239

    文章

    10662

    浏览量

    348419
  • MPU
    MPU
    +关注

    关注

    0

    文章

    293

    浏览量

    48345
  • OTA
    OTA
    +关注

    关注

    7

    文章

    515

    浏览量

    34544

原文标题:烧录即用,基于MCU的零代码无开发实现OTA差分升级 | UB产品

文章出处:【微信号:STM32_STM8_MCU,微信公众号:STM32单片机】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    如何构建STM32L452RE的分升级能力?

    在STM32L452RE这颗MCU上如何将艾拉比的分升级功能,移植入STM32L452RE的bootloader中,从而使STM32L452RE能够拥有
    发表于 09-11 11:51

    AliOS Things 3.0 开发:OTA之差分升级快速上手

    简介: OTA之差分升级,用AliOS Things如何实现?关联文章:AliOS Things 3.0 开发:OTA之整包升级使用手册查看详情AliOS Things 3.0 开发:OTA之压缩
    发表于 10-18 09:57

    如何去实现基于单片机的分升级

    分算法有开源的bsdiff,压缩算法也有开源的单片机就能用的,把这两个结合起来放单片机里就可以实现分升级。由于上位机负责进行分和压缩的
    发表于 11-19 06:14

    在单片机上实现分升级

    最近咨询如果在单片机上实现分升级的同学很多,因为源码目前不方便公开,所以有个想法是,向对这块比较感兴趣的朋友提供基于各位所用编译器的分算法库,方便各位做学习交流使用。有需要的欢迎提
    发表于 01-20 08:16

    探讨一下基于STM32单片机的分升级算法

    DiffIAP应用背景随着目前物联网,车联网,智能设备的增多,需要远程升级设备程序的场景增多,以往的IAP升级和OTA升级都是整包升级,bin文件过大导致
    发表于 02-14 06:02

    ESP32C3固件太大,OTA时有没有方法做分升级

    如题,esp32c3同时打开BLE和WIFI的功能,固件都1MByte了,OTA时可以用分升级吗。还有就是怎么优化下固件大小?
    发表于 02-15 08:02

    esp32是否支持分升级

    我现在工程需要适配ota功能,但是鉴于固件体积较大,想请教下是否支持分升级?
    发表于 02-20 07:36

    电动扳手MCU的功能特点及应用行业

    分类 : 电源电池 开发平台 : Nuvoton 新唐 交付形式 : PCBA 性能参数 : 运行速度 : 24 MHz 应用场景 : BMS 电池保护板 基于MCU分升级FOTA方案
    发表于 04-03 14:16

    8位MCU升级至32位MCU的设计方案

    8位MCU升级至32位MCU的设计方案 目前的MCU市场分为三个部分, 8位、16位和32位内核(4位内核
    发表于 03-17 15:03 41次下载

    STM32全国巡回研讨会-西安站:OpenFOTA创新升级方案首发

    和MC905 NB-IoT模组,通过使用艾拉比提供的差分升级能力对STM32 MCU进行OTA差分升级,高效地解决了整机终端在主控处理器资源不足的痛点,帮助终端厂商在不增加硬件成本的情况下,以更便捷、更省成本的方式
    的头像 发表于 10-09 09:42 2091次阅读

    基于MCU,如何零代码无开发实现OTA差分升级

    用的,相对标准化的优化方案。2MCU分升级的优化实现方案 UB 产品UB(Upgrade Bootloader)产品是艾拉比基于
    的头像 发表于 10-14 17:23 4287次阅读
    基于<b class='flag-5'>MCU</b>,如何零代码无开发<b class='flag-5'>实现</b>OTA差<b class='flag-5'>分升级</b>?

    基于MCU,如何零代码无开发实现OTA差分升级

    随着物联网设备智能化的发展,OTA 升级已经成为了业界公认的基础能力,而 OTA 在设计和实现过程中需要依赖于物联网设备的硬件方案。物联网设备主流的硬件方案为: 1. 直接基于通讯芯片
    的头像 发表于 10-30 10:03 343次阅读

    基于STM32单片机的差分升级(增量升级)算法

    DiffIAP应用背景随着目前物联网,车联网,智能设备的增多,需要远程升级设备程序的场景增多,以往的IAP升级和OTA升级都是整包升级,bin文件过大导致
    发表于 12-09 15:51 19次下载
    基于STM32单片机的差<b class='flag-5'>分升级</b>(增量<b class='flag-5'>升级</b>)算法

    启明FOTA差分升级 系统级解决方案

    “你的设备远程升级可以不再是升级整个固件。启明提供了一套完整的差分升级算法,升级固件更小、下载速度更快、大大降低网络不稳定造成传输失败概率,同时更节省内存。”
    的头像 发表于 06-05 09:40 1085次阅读
    启明FOTA差<b class='flag-5'>分升级</b> 系统级解决<b class='flag-5'>方案</b>

    启明FOTA差分升级 系统级解决方案

    “你的设备远程升级可以不再是升级整个固件。启明提供了一套完整的差分升级算法,升级固件更小、下载速度更快、大大降低网络不稳定造成传输失败概率,同时更节省内存。”众所周知,传统
    的头像 发表于 06-09 09:46 836次阅读
    启明FOTA差<b class='flag-5'>分升级</b> 系统级解决<b class='flag-5'>方案</b>