基于MCU的差分增量OTA升级可用方案记录

       差分ota

           优点:占用空间小,非常适合用于lora,nbiot等慢速低数据量的ota升级用,相比全量升级的传输大小空间基本都有量级的节省。

           缺点:生产差分文件时需要基于上一版本,前后版本差异太大有的差分ota算法并不能很差的差分。

            难点: mcu一般flash空间和ram空间都很小,开源的大部分早期基本都是对于pc等高ram用,基本没有mcu差分ota的参考实现或商用实现。

           差分ota一般使用差分算法计算出差分部分后还会对差分部分进行压缩进一步节省空间,升级端需要先对差分文件进行解压缩后再利用差分算法去还原回去。

          

        差分ota可用方案统计:

                1、bsdiff(压缩方案可选)

                  可参看移植项目,tencenttinyos,开源可参看,不过实际试过还原时有时会不一定可以,曾提交过issue,不过没人理。

                  商用在用的好像是专做ota差分升级的艾拉比,后面可能这家也有基于其他算法进行。

                2、JojoDiff 

                   可用参考项目,https://jojodiff.sourceforge.net/

                    https://github.com/janjongboom/janpatch

                3、Hdiffpatch

                      国内自己写的开源项目,有不少商用项目在用,早期华为liteos的差分升级也是使用该方案,实际在mcu上验证测试过差分还原没问题

                4、detools

                        基于hdiffpatch和bsdiff基础上修改而来

                         GitHub - eerimoq/detools: Binary delta encoding tools.

                        Thesis projects / Delta updates for embedded systems · GitLab

                  这四种基本上都可以满足,每种都有可以提供建议的压缩方式。

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值