System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 生成更新文件的方法及对应服务器设备、更新方法及对应客户端设备、更新方法及对应系统技术方案_技高网

生成更新文件的方法及对应服务器设备、更新方法及对应客户端设备、更新方法及对应系统技术方案

技术编号:40539291 阅读:4 留言:0更新日期:2024-03-05 18:54
本公开涉及生成更新文件的方法及对应服务器设备、更新方法及对应客户端设备、更新方法及对应系统。服务器构建更新文件以更新软件。服务器编译软件的更新后的版本的源代码,从而生成软件的更新后的版本的二进制文件。基于软件的先前版本的二进制文件的部分的映射,将存储器位置映射到二进制文件的部分。将先前版本的二进制文件的多个部分中的部分的位与更新后的版本的二进制文件的对应部分的位逐位进行逻辑组合。逻辑组合包括:应用异或运算;或应用异或非运算。更新文件是基于存储器位置的映射并基于逻辑组合的结果构建的。

【技术实现步骤摘要】

实施方式和实施例涉及用于更新软件的技术,特别是由服务器设备生成更新文件以及由客户端设备更新软件。


技术介绍

1、就用于将更新文件传输到客户端设备的能耗带宽而言,特别是对于带宽有限且旨在节省能量的情况,用于更新软件的技术会是关键功能性。

2、例如,这正是在地面上部署的iot物联网类型的客户端设备的ota空中下载更新的活动中的情况,其中网络带宽通常有限且成本高昂,并且iot客户端设备通常倾向于使用很少的能量。

3、例如,带宽有限且旨在节省能量的网络可以是lpwan(术语“低功耗广域网”的缩写)类型,诸如lorawan、ble、cat-m1、nb-iot(分别表示长距离wan、蓝牙低功耗、机器类型通信、类别1和窄带iot)或wi-fi类型(受ieee 802.11组的标准管辖的通信协议)。

4、减少所传输的数据量对于iot客户端设备接收更新文件期间的能量节省以及相关联带宽的成本具有相当大的影响。

5、话虽如此,一般而言,出于效率和/或使用可用资源的限制的原因,限制所传输的数据量和能量消耗总是有利的,即使是在这方面没有特别限制的通信系统中(例如,在分别表示长期演进、第四代、第五代的lte、4g、5g类型的通信中)也是如此。

6、图1图示了允许限制从软件的旧版本fw_vn到新版本fwvn+1的更新文件fwupdt中的数据量的常规技术的示例。软件的各种模块app、util、hal、sbsfu和各种函数mwfunc1、mwfunc2_vn、…、mwfuncn占用存储器的存储器区域,这些存储器区域由各自的矩形表示。

7、更新文件fwupdt将已经修改的存储器区域“xx..x”从软件的旧版本传送到新版本,而不传送那些未改变的“0”。即,如果在存储器卷中添加或移除存储器区域,或者如果函数mwfunc2_vn+1的修改改变了对应存储器区域的尺寸(更大或更小),那么之后的所有存储器区域mwfunc2_vn+1,…,mwfuncn,util、hal、sbsfu都偏移,即使它们的内容在新版本中没有修改。事实上,常规的存储器映射机制将存储器中连续位置处的存储器位置指派给代码的连续的函数。因此,连续地定位在修改的位置之后的存储器区域通常全部偏移,并且在更新文件fwupdt中作为修改后的存储器区域“xx..x”被传送。

8、而且,常规的压缩技术,例如通常是“zip”或“rar”压缩,在性能上具有限制并且要求为客户端设备提供对应的解压缩手段。但是,这种类型的解压缩手段可以表示记录在存储器中的代码的相对大部分,例如10%至15%,特别是在最简单且成本最低的iot设备中。


技术实现思路

1、下面提出的实施例和实施方式促进以与当前和通常的软件体系架构兼容的方式发送极小的更新文件,几乎仅包括软件版本之间的二进制差异。而且,更新文件的“解压缩”简单并且要求的资源少,并且更新的记录可以直接在存储器中“现场”执行,而无需整个软件的尺寸的“缓冲”存储器空间。

2、在实施例中,一种方法包括:构建与软件的第一版本相关联的更新文件,构建更新文件包括:编译与软件的第二版本相关联的源代码,该编译生成软件的第二版本的二进制文件;基于软件的第一版本的二进制文件的部分到存储器位置的映射将存储器位置映射到软件的第二版本的二进制文件的部分,其中软件的第二版本的二进制文件的在软件的第一版本的二进制文件中具有对应部分的部分被映射到与软件的第一版本的二进制文件的对应部分相同的存储器位置;对于软件的第一版本的二进制文件的多个部分中的一个或多个部分,将软件的第一版本的二进制文件的位与软件的第二版本的二进制文件的对应部分的位逐位进行逻辑组合,该逻辑组合包括:应用异或运算;或应用异或非运算;以及基于存储器位置到软件的第二版本的二进制文件的部分的映射并且基于软件的第一版本的二进制文件的多个部分中的一个或多个部分与软件的第二版本的二进制文件的对应部分的逻辑组合的结果来构建更新文件。

3、在实施例中,一种方法包括:基于更新文件将软件的第一版本的二进制文件更新为软件的第二版本的二进制文件,该更新包括:基于更新文件识别软件的第一版本的二进制文件的多个部分中的一个或多个部分;将软件的第一版本的二进制文件的识别出的部分的位与更新文件的与识别出的部分对应的位逐位进行逻辑组合,该逻辑组合包括:应用异或运算;或应用异或非运算;以及用逻辑组合的结果替换软件的第一版本的二进制文件的识别出的部分的位。

4、在实施例中,一种系统包括:接口;以及耦合到接口的处理电路系统,其中处理电路系统在操作中构建与软件的第一版本的二进制文件相关联的更新文件,构建更新文件包括:编译与软件的第二版本相关联的源代码,该编译生成软件的第二版本的二进制文件;基于软件的第一版本的二进制文件的部分到存储器位置的映射,将存储器位置映射到软件的第二版本的二进制文件的部分,其中软件的第二版本的二进制文件的在软件的第一版本的二进制文件中具有对应部分的部分被映射到与软件的第一版本的二进制文件中的对应部分相同的存储器位置;对于软件的第一版本的二进制文件的多个部分中的一个或多个部分,将软件的第一版本的二进制文件的位与软件的第二版本的二进制文件的对应部分的位逐位进行逻辑组合,该逻辑组合包括:应用异或运算;或应用异或非运算;以及基于存储器位置到软件的第二版本的二进制文件的部分的映射并且基于软件的第一版本的二进制文件的多个部分中的一个或多个部分与软件的第二版本的二进制文件的对应部分的逻辑组合的结果来构建更新文件。

5、在实施例中,一种设备包括:存储器;以及耦合到存储器的处理电路系统,其中处理电路系统在操作中基于更新文件将软件的第一版本的二进制文件更新为软件的第二版本的二进制文件,该更新包括:基于更新文件识别软件的第一版本的二进制文件的多个部分中的一个或多个部分;将软件的第一版本的二进制文件的识别出的部分的位与更新文件的与识别出的部分对应的位逐位进行逻辑组合,该逻辑组合包括:应用异或运算;或应用异或非运算;以及用逻辑组合的结果替换软件的第一版本的二进制文件的识别出的部分的位。

6、在实施例中,一种非暂态计算机可读介质的内容使得服务器构建与软件的第一版本相关联的更新文件,构建更新文件包括:编译与软件的第二版本相关联的源代码,该编译生成软件的第二版本的二进制文件;基于软件的第一版本的二进制文件的部分到存储器位置的映射,将存储器位置映射到软件的第二版本的二进制文件的部分,其中软件的第二版本的二进制文件的在软件的第一版本的二进制文件中具有对应部分的部分被映射到与软件的第一版本的二进制文件的对应部分相同的存储器位置;对于软件的第一版本的二进制文件的多个部分中的一个或多个部分,将软件的第一版本的二进制文件的位与软件的第二版本的二进制文件的对应部分的位逐位进行逻辑组合,该逻辑组合包括:应用异或运算;或应用异或非运算;以及基于存储器位置到软件的第二版本的二进制文件的部分的映射并且基于软件的第一版本的二进制文件的多个部分中的一个或多个部分与软件的第本文档来自技高网...

【技术保护点】

1.一种方法,包括:

2.根据权利要求1所述的方法,其中构建更新文件包括基于逻辑组合来识别软件的第一版本的二进制文件的与软件的第二版本的二进制文件的对应部分不同的部分。

3.根据权利要求2所述的方法,其中更新文件包括识别软件的第一版本的二进制文件的与软件的第二版本的二进制文件的对应部分不同的部分的信息。

4.根据权利要求3所述的方法,包括:

5.根据权利要求1所述的方法,包括:

6.根据权利要求1所述的方法,其中构建更新文件包括:

7.根据权利要求1所述的方法,其中构建更新文件包括:

8.根据权利要求1所述的方法,其中逻辑组合包括应用异或运算。

9.一种方法,包括:

10.根据权利要求9所述的方法,包括:

11.根据权利要求9所述的方法,包括:

12.根据权利要求11所述的方法,其中构建更新文件包括基于逻辑组合来识别软件的第一版本的二进制文件的与软件的第二版本的二进制文件的对应部分不同的部分。

13.根据权利要求9所述的方法,其中更新软件的第一版本的二进制文件包括:

14.一种系统,包括:

15.根据权利要求14所述的系统,其中构建更新文件包括:

16.根据权利要求15所述的系统,其中处理电路系统在操作中经由接口传输更新文件。

17.根据权利要求14所述的系统,其中构建更新文件包括:

18.根据权利要求16所述的系统,包括:

19.一种设备,包括:

20.根据权利要求19所述的设备,包括:

21.根据权利要求19所述的设备,其中处理电路系统在操作中:

22.一种非暂态计算机可读介质,具有使得服务器构建与软件的第一版本相关联的更新文件的内容,构建更新文件包括:

23.根据权利要求22所述的非暂态计算机可读介质,其中构建更新文件包括:

24.根据权利要求22所述的非暂态计算机可读介质,其中内容包括能够由服务器执行的指令。

25.一种非暂态计算机可读介质,具有使得设备将软件的第一版本的二进制文件更新为软件的第二版本的二进制文件的内容,该更新包括:

26.根据权利要求25所述的非暂态计算机可读介质,其中更新软件的第一版本的二进制文件包括:

27.根据权利要求25所述的非暂态计算机可读介质,其中内容包括与识别出的部分对应的位。

...

【技术特征摘要】

1.一种方法,包括:

2.根据权利要求1所述的方法,其中构建更新文件包括基于逻辑组合来识别软件的第一版本的二进制文件的与软件的第二版本的二进制文件的对应部分不同的部分。

3.根据权利要求2所述的方法,其中更新文件包括识别软件的第一版本的二进制文件的与软件的第二版本的二进制文件的对应部分不同的部分的信息。

4.根据权利要求3所述的方法,包括:

5.根据权利要求1所述的方法,包括:

6.根据权利要求1所述的方法,其中构建更新文件包括:

7.根据权利要求1所述的方法,其中构建更新文件包括:

8.根据权利要求1所述的方法,其中逻辑组合包括应用异或运算。

9.一种方法,包括:

10.根据权利要求9所述的方法,包括:

11.根据权利要求9所述的方法,包括:

12.根据权利要求11所述的方法,其中构建更新文件包括基于逻辑组合来识别软件的第一版本的二进制文件的与软件的第二版本的二进制文件的对应部分不同的部分。

13.根据权利要求9所述的方法,其中更新软件的第一版本的二进制文件包括:

14.一种系统,包括:

15.根...

【专利技术属性】
技术研发人员:Y·布韦JP·库皮尼
申请(专利权)人:意法半导体鲁塞公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1