一种嵌入式软件的在线升级方法及系统技术方案

技术编号:6094250 阅读:281 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及一种嵌入式软件的在线升级方法,包括上位机和与所述上位机连接、作为下位机的嵌入式装置,所述在线升级方法包括如下步骤:取得嵌入式装置中嵌入式软件与需要配置到所述嵌入式装置中的软件的区别;形成表示上述软件差别的差别文件;传送所述差别文件到所述嵌入式装置,并使用所述差别文件升级所述嵌入式装置中的软件。本发明专利技术还涉及一种嵌入式软件的在线升级系统。实施本发明专利技术的嵌入式软件的在线升级方法及系统,具有以下有益效果:其数据量较小,传输时间较短,软件升级所用的时间也就较短。

【技术实现步骤摘要】

本专利技术涉及嵌入式系统,更具体地说,涉及一种嵌入式软件的在线升级方法及系 统。
技术介绍
在许多可以远程或现场升级软件的嵌入式设备中,其升级软件的方法都是将需 要写入到该嵌入式装置中的软件(通常称为软件的最新版本),整个下载到上述嵌入式装置 中,并用上述的最新版本软件覆盖原来嵌入式装置中的已有软件(通常称为旧版本软件), 完成软件的升级过程。但是,这种方法在操作人员与该嵌入式装置在同一个位置时,其缺点 不太容易显现出来。但是,如果在远程升级的,其缺点就比较明显。由于远程升级时需要通 过网络连接作为上位机的服务器以及作为下位机的嵌入式设备,整个程序传输时其数据量 较大,必然会花费较多的时间,在以流量计费的情况下,还会因为较大的传输数据量带来较 大的开支。
技术实现思路
本专利技术要解决的技术问题在于,针对现有技术的上述传输时间较长、传输数据量 较大的缺陷,提供一种传输数据量较小、传输时间较短的一种嵌入式软件的在线升级方法 及系统。本专利技术解决其技术问题所采用的技术方案是构造一种嵌入式软件的在线升级方 法,包括上位机和与所述上位机连接、作为下位机的嵌入式装置,所述在线升级方法包括如 下步骤A)取得嵌入式装置中嵌入式软件与需要配置到所述嵌入式装置中的软件的区别;B)形成表示上述软件差别的差别文件;C)传送所述差别文件到所述嵌入式装置,并使用所述差别文件升级所述嵌入式装 置中的软件。在本专利技术所述的一种嵌入式软件的在线升级方法中,所述步骤A)中进一步包括 Al)所述上位机取得所述嵌入式软件中安装的软件,并取出需要安装在所述嵌入式装置中的软件;A2)依次比较所述两个软件之间的差别,每个不同的位置形成一个段文件。在本专利技术所述的一种嵌入式软件的在线升级方法中,所述步骤B)进一步包括将 得到的所述段文件依次排列,得到所述差别文件。在本专利技术所述的一种嵌入式软件的在线升级方法中,所述段文件内容包括需要更 新位置的起始地址、本段文件包括的更新数据长度以及本段文件包括的更新数据。在本专利技术所述的一种嵌入式软件的在线升级方法中,所述步骤C)进一步包括 Cl)下载所述差别文件到所述嵌入式装置的预留区域内;C2)解析所述差别文件,并更新所述嵌入式装置软件的内容。在本专利技术所述的一种嵌入式软件的在线升级方法中,所述步骤C2)进一步包括 C21)解析所述差别文件,得到所述差别文件中的所有段文件内容;C22)逐一查找所述段文件中指定的需要更新位置的起始地址,将所述段文件中的 更新数据由所述起始地址嵌入到所述嵌入式装置软件中;C23)完成所述段文件更新后,更新所述软件的版本号。在本专利技术所述的一种嵌入式软件的在线升级方法中,所述步骤Al)中进一步包括 如下步骤All)取得所述嵌入式装置中的软件版本号; A12)在本地取得所述版本号所对应的软件内容。本专利技术还涉及一种嵌入式软件的在线升级系统,包括区别取得模块用于取得嵌入式装置中嵌入式软件与需要配置到所述嵌入式装置 中的软件的区别;差别文件形成模块用于形成表示上述软件差别的差别文件; 升级模块用于传送所述差别文件到所述嵌入式装置,并使用所述差别文件升级所 述嵌入式装置中的软件。在本专利技术所述的一种嵌入式软件的在线升级系统中,所述区别取得模块进一步包 括软件取得单元用于所述上位机取得所述嵌入式软件中安装的软件,并取出需要安装 在所述嵌入式装置中的软件;软件比较单元依次比较所述两个软件之间的差别,每个不同的位置形成一个段文件;其中,所述软件取得单元还包括版本号取得子单元用于取得所述嵌入式装置中的软件版本号; 嵌入式软件内容取得子单元用于在本地取得所述版本号所对应的软件内容。在本专利技术所述的一种嵌入式软件的在线升级系统中,所述差别文件形成模块进一 步包括所述差别文件形成模块进一步包括用于形成所述段文件的段文件形成单元以及 用于将得到的所述段文件依次排列,得到所述差别文件的差别文件形成单元;所述段文件 内容包括需要更新位置的起始地址、本段文件包括的更新数据长度以及本段文件包括的更 新数据。实施本专利技术的嵌入式软件的在线升级方法及系统,具有以下有益效果由于比较 最新版本软件和旧版本软件的内容,进而得到段文件;多个段文件组成差别文件,只要传输 上述差别文件,就能把上述嵌入式装置中的旧版本软件升级到最新版本的软件;而与整个 软件相比,上述差别文件的数据量无疑较小,所以,其数据量较小,传输时间较短,软件升级 所用的时间也就较短。附图说明图1是本专利技术嵌入式软件的在线升级方法及系统实施例中方法流程图; 图2是所述实施例中差别文件结构示意图3是所述实施例中软件更新步骤的进一步的流程图;图4是所述实施例中系统的结构示意图。 具体实施例方式下面将结合附图对本专利技术实施例作进一步说明。如图1所示,在本专利技术一种嵌入式软件的在线升级方法及系统实施例中,其升级 嵌入式软件(也就是安装在嵌入式装置之内的软件)的方法包括如下步骤步骤Sll取得嵌入式装置中软件的版本号一般而言,在嵌入式装置在工作时,可以 通过网络与外部的设备连接,也可以不与外部设备连接。但是在升级其中的软件时,特别是 远程升级时,该嵌入式装置一定是通过网络与外部的服务器或终端(通常是PC)连接的,通 过在服务器或终端上的操作,实现嵌入式装置的软件升级(也就是将嵌入式装置上安装的 软件由较旧的版本用存储在上述服务器或PC上的最新版本的软件替代)。在这个过程中, 上述服务器或PC作为上位机,而嵌入式装置作为下位机,其间通过网络连接。在本步骤中, 服务器或PC开始操作嵌入式装置软件升级,其在联系上上述嵌入式装置,明确要替代上述 嵌入式装置中的软件的最新版本内容之后,要求上述嵌入式装置发送其上软件的版本号到 服务器或PC中;而嵌入式装置在收到上述指令后,发送被要求的软件版本号到上述服务器 或PC中。步骤S12在本地取得上述版本号对应的软件在本步骤中,服务器或PC通过上一 步骤得到的嵌入式装置中现在安装的软件版本号,在其本地(本机)内查找该版本号对应的 软件内容。这些内容是事先在上述服务器或PC中存储的,并且其存储在指定位置或指定文 件夹内,便于查找。同时,希望通过本方法安装到上述嵌入式装置中的软件版本(也就是最 新版本的软件)也是存储在上述服务器或PC中的。步骤S13对比,得到新旧版本软件之间的差别在本步骤中,对比上述由嵌入式 装置上得到的软件版本号所对应的软件内容和最新版本软件内容,得到其间的区别。在本 实施例中,上述软件内容实际上是通过编译得到的可执行文件的内容,因此,在本步骤中的 比较实际上是比较两个可执行文件中相同位置上的数值是否相同。通常,嵌入式装置中的 软件大小是固定的,由其使用的FLASH(闪存存储装置)的大小确定,例如8M模型、16M模型、 32M模型等;同时不同版本的嵌入式软件之间,其不同之处通常较整个程序而言较少,就整 个软件而言,多数位置上的数据是相同的。因此,本步骤中的比较得以实现。步骤S14每一不同之处得到一个段文件在本步骤中,对上述步骤中的得到每个 不同之处,产生一个段文件;当然,也可以发现一个不同之处,就产生一个段文件。在本实施 例中,段文件描述了上述新、旧版本之间不同之处。在本实施例中,段文件包括了如下内容 两个软件之间一个不同之处的开始位置(即起始位置本文档来自技高网...

【技术保护点】
1.一种嵌入式软件的在线升级方法,包括上位机和与所述上位机连接、作为下位机的嵌入式装置,其特征在于,所述在线升级方法包括如下步骤:    A)取得嵌入式装置中嵌入式软件与需要配置到所述嵌入式装置中的软件的区别;    B)形成表示上述软件差别的差别文件;    C)传送所述差别文件到所述嵌入式装置,并使用所述差别文件升级所述嵌入式装置中的软件。

【技术特征摘要】

【专利技术属性】
技术研发人员:张天瑜许宁陶庆欢
申请(专利权)人:深圳市广和通实业发展有限公司
类型:发明
国别省市:94

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

1