首页 > 其他分享 >基于MCU的差分增量FOTA升级可用方案记录

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

时间:2024-02-20 10:00:49浏览次数:23  
标签:ota FOTA 差分 升级 算法 MCU mcu

差分FOTA

优点:占用空间小,非常适合用于lora,nbiot等慢速低数据量的升级用,相比全量升级的传输大小空间基本都有量级的节省。
缺点:生产差分文件时需要基于上一版本,前后版本差异太大有的差分fota算法并不能很好的差分。
难点: mcu一般flash空间和ram空间都很小,开源的大部分早期基本都是对于pc等高ram用,基本没有mcu差分ota的参考实现或商用实现。
差分fota一般使用差分算法计算出差分部分后还会对差分部分进行压缩进一步节省空间,升级端需要先对差分文件进行解压缩后再利用差分算法去还原回去。

差分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

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

标签:ota,FOTA,差分,升级,算法,MCU,mcu
From: https://www.cnblogs.com/iot-eybstar/p/18022459

相关文章

  • Codeforces Round 169 (Div. 2)C. Little Girl and Maximum Sum(差分、贪心)
    目录题面链接题意题解代码总结题面链接C.LittleGirlandMaximumSum题意给q个[l,r]将所有这些区间里面的数相加和最大。可以进行的操作是任意排列数组题解对出现的每个区间内的位置加上1,代表权值操作完之后求一遍前缀和,得到每个位置的权值然后贪心的考虑,权值越大,应......
  • 负环与差分约束
    1.负环负环是指一个环的边权值之和为负数。有负环的图没有最短路。要判断一个图是否有负环,一般使用Bellman-Ford算法或SPFA算法。Bellman-Ford如果一个图没有负环的话,最短路径最多会经过\(N-1\)条边。如果有,那么在进行\(N\)次更新后还能继续更新。于是用Bellman-F......
  • 差分约束算法
    一、题目描述P5960【模板】差分约束二、题目简析差分约束问题的典型特征是一组不等式。只要画出约束图,这类问题都可以准换为最短路径问题。注意:约束图是有向图。2.1约束图的顶点约束图的顶点(\(V\))=一个未知数对应一个顶点(\(v_1,v_2,...,v_n\))+一个额外的顶点(\(v_0\)......
  • linux下进行MCU开发环境搭建
    why为什么要搭建此开发环境?在linux环境下开发可以利用shell命令实现对文件的批处理伟大的程序员应该都用类unix系统!可以实现对底层编译技术的了解,以便于更好的掌握嵌入式技术通用性,采用开源工具,从底层开发项目,可以不受制于特定厂商的ide工具.可以实现通用架构!what......
  • R语言用随机森林模型的酒店收入和产量预测误差分析
    全文链接:https://tecdat.cn/?p=35162在这篇文章中,我们将探讨基于随机森林模型的酒店收入和产量预测分析。我们将使用4月9日至4月15日的数据作为测试集,评估预测的准确度。我们将分别对单个酒店在三个预订渠道的总收入和总产量进行分析,并使用随机森林模型进行预测。通过对比每家酒......
  • MCAL-MCU
    1.概述https://blog.csdn.net/qq_43629659/article/details/133050046 MCU模块提供了访问内核相关功能的API,如时钟配置、初始化RAM、设置低功耗模式、提供复位接口等等。1.1时钟上图左边位输入时钟源,右侧为输出时钟,需要选择合适的时钟源并通过倍频,分频来得到需要的时钟源。......
  • MCU - 讲透MCU
    简介MCU(微控制单元)俗称单片机,可被认为是CPU的缩减版本,把CPU的频率与规格进行缩减处理,并将RAM、ROM、时钟、A/D转换、定时/计数器、UART、DMA等电路单元,甚至包括USB接口、LCD驱动电路都整合在一块芯片之中,形成芯片级的计算机,为各种应用场合提供组合控制。 MCU发展历程(1)197......
  • 基础算法(十一)二维差分---以题为例
    输入一个 n 行 m 列的整数矩阵,再输入 q 个操作,每个操作包含五个整数 x1,y1,x2,y2,c,其中 (x1,y1)和 (x2,y2) 表示一个子矩阵的左上角坐标和右下角坐标。每个操作都要将选中的子矩阵中的每个元素的值加上 c。请你将进行完所有操作后的矩阵输出。输入格式第一行包含整......
  • 基础算法(十)差分模板---以题为例
    输入一个长度为 n的整数序列。接下来输入 m个操作,每个操作包含三个整数 l,r,c,表示将序列中 [l,r]之间的每个数加上 c。请你输出进行完所有操作后的序列。输入格式第一行包含两个整数 n 和 m。第二行包含 n 个整数,表示整数序列。接下来 m 行,每行包含三个整数 l,r......
  • 差分算法
    差分算法差分算法可以用来维护区间的加减我们假定有一个数组\(a={1,2,3,4}\)\(b\)为数组\(a\)的差分数组。\[b_i=\begin{cases}a_i-a_{i-1}&i\in[2,n]\\a_1&i=1\end{cases}\]根据给定的数组\(a={1,2,3,4}\)我们很容易得知数组\(b={1,1,1,1}\)我......