首页> 中国专利> 一种可软件在线升级的嵌入式系统及在线升级方法

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

摘要

本发明公开了一种可软件在线升级的嵌入式系统及在线升级方法,包括嵌入式终端和能够分别与嵌入式终端进行数据传输的远程主站、近程主站、本地主站;嵌入式终端包括有主控芯片、程序存储器、数据存储器、远程通信接口及本地/近程通信接口;嵌入式终端的程序存储器被划分有具有对等结构的A区和B区,在主站向嵌入式终端发送软件包时,嵌入式终端的系统的引导过程依次从A区和B区轮流进行,每次进行系统软件升级则调换引导区域;系统程序在程序存储器保存双备份,如果升级过程失败,可以从上一次成功启动的区域还原。使用这种方法,能够有效识别在线升级过程中的各种异常状况,并采取相应措施加以补救,或误码重传,或断点续传,或无效抛弃,或失败还原,确保在线升级的正确性和鲁棒性。

著录项

  • 公开/公告号CN102023876A

    专利类型发明专利

  • 公开/公告日2011-04-20

    原文格式PDF

  • 申请/专利权人 漳州科能电器有限公司;

    申请/专利号CN200910306934.7

  • 发明设计人 李松涛;许良刚;林冬武;何树生;

    申请日2009-09-14

  • 分类号G06F9/445(20060101);H04W84/18(20090101);

  • 代理机构35204 厦门市首创君合专利事务所有限公司;

  • 代理人连耀忠

  • 地址 363000 福建省漳州市蓝田工业开发区横六路科能工业园

  • 入库时间 2023-12-18 02:05:01

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-06-14

    专利权质押合同登记的注销 IPC(主分类):G06F 9/445 授权公告日:20130417 申请日:20090914 专利号:ZL2009103069347 登记号:2014350000061 出质人:漳州科能电器有限公司 质权人:招商银行股份有限公司漳州分行 解除日:20220528

    专利权质押合同登记的生效、变更及注销

  • 2015-03-18

    专利权质押合同登记的生效 IPC(主分类):G06F9/445 登记号:2014350000061 登记生效日:20141125 出质人:漳州科能电器有限公司 质权人:招商银行股份有限公司漳州分行 发明名称:一种可软件在线升级的嵌入式系统及在线升级方法 授权公告日:20130417 申请日:20090914

    专利权质押合同登记的生效、变更及注销

  • 2013-04-17

    授权

    授权

  • 2011-08-10

    实质审查的生效 IPC(主分类):G06F9/445 申请日:20090914

    实质审查的生效

  • 2011-04-20

    公开

    公开

说明书

技术领域

本发明涉及一种嵌入式计算机软件在线升级的技术,尤其是具有嵌入式操作系统的嵌入式计算机的系统软件和应用软件在线升级。

背景技术

传统的嵌入式终端设备,由于资源和环境条件的限制,在生产阶段就需要将软件代码固化,设备出厂后是无法在现场在线修改的。一旦出现升级需求,要么是设备返厂维修,要么是在现场拆机更换部件板或替换程序存储芯片。

随着计算机应用水平的不断提高,为了能够满足客户持续变化的需求,延长产品的生命周期,改善系统的性能,嵌入式产品需要具备在线升级能力。

目前公知的嵌入式软件在线升级方法,将工作环境理想化了。现实环境中,我们可能面临各种异常,如通讯传输误码、存储操作故障、传输中断、人工操作失误等现象,任何一项异常的发生,都会造成升级过程失败,甚至引起系统瘫痪导致产品失效。

发明内容

本发明的目的在于克服现有技术之不足,提供一种可软件在线升级的嵌入式系统及在线升级方法,使用这种方法,能够有效识别在线升级过程中的各种异常状况,并采取相应措施加以补救,或误码重传,或断点续传,或无效抛弃,或失败还原,确保在线升级的正确性和鲁棒性。

本发明解决其技术问题所采用的技术方案是:一种可软件在线升级的嵌入式系统,包括:

一嵌入式终端,其包括主控芯片、程序存储器、数据存储器、远程通信接口和本地/近程通信接口;主控芯片分别与程序存储器、数据存储器、远程通信接口和本地/近程通信接口相连接;该程序存储器至少划分为具有对等结构的A区和B区,每个区又进一步划分为具有相同的大小和结构的三个子区域;所述的三个子区域分别是用来存储启动程序的启动程序区、用来存储引导程序的引导程序区和用来存储系统程序的系统程序区;该数据存储器设有能够同时存储业务程序、业务数据及其升级程序包的存储空间;所述的启动程序区还存储有升级控制信息;

一设在远程并能通过无线网络接入而与所述嵌入式终端相连接的第一主站,该第一主站与嵌入式终端之间设有相互认可的通信协议以使第一主站与嵌入式终端之间能够实现数据交换,第一主站向嵌入式终端发送升级程序包及其升级指令,嵌入式终端进行软件升级;

一设在近程并能通过无线方式接入而与所述嵌入式终端相连接的第二主站,该第二主站与嵌入式终端之间设有相互认可的通信协议以使第二主站与嵌入式终端之间能够实现数据交换,第二主站向嵌入式终端发送升级程序包及其升级指令,嵌入式终端进行软件升级;

一设在近程并能通过本地接入而与所述嵌入式终端相连接的第三主站,该第三主站与嵌入式终端之间设有相互认可的通信协议以使第三主站与嵌入式终端之间能够实现数据交换,第三主站向嵌入式终端发送升级程序包及其升级指令,嵌入式终端进行软件升级。

所述的程序存储器采用Flash存储器件。

所述的第二主站、第三主站分别为手持式设备或台式计算机或手提电脑。

一种嵌入式系统的软件在线升级方法,包括如下步骤:

a.嵌入式终端根据预先设定的引导模式从A区启动,加载A区的引导程序,引导A区的操作系统程序,进入工作状态;

b.由第一主站或第二主站或第三主站的其中一个主站向嵌入式终端发送若干个用于软件升级的升级程序包;嵌入式终端检验升级程序包,确保能够完整正确地接收到所有的升级程序包;

c.发送升级程序包的主站向嵌入式终端发送指令,通知嵌入式终端进行软件升级更新;

d.嵌入式终端使用升级程序包更新B区,并在A区的启动程序区中登记升级控制信息,该升级控制信息标记为新版本就绪;

e.嵌入式终端重新启动,从A区启动,检查A区登记的升级控制信息,在发现升级控制信息标记为新版本就绪时,再一次登记升级控制信息,该升级控制信息标记为新版本启用,并加载B区的引导程序,引导B区的操作系统程序,进入工作状态;

f.若引导系统成功,则将B区的引导程序区和系统程序区复制到A区,再次登记升级控制信息,该升级控制信息标记为新版本已更新;升级过程结束;

g.若引导系统失败,经过一个预先设定时间的超时,嵌入式终端在看门狗电路作用下进行复位;

h.嵌入式终端重新启动,从A区启动,检查升级控制信息,发现升级控制信息的标记仍为新版本启用而未被修改为新版本已更新,则加载A区的引导程序,引导A区的操作系统程序,进入工作状态;

i.引导系统成功,将A区的引导程序区和系统程序区复制到B区,再次登记升级控制信息,该升级控制信息标记为新版本废弃;系统恢复到升级前的状态,升级过程结束。

所述的预先设定的引导模式是依次从A区和B区轮流进行,每次成功进行系统软件升级后则调换引导区域。

所述的升级程序包被分解为一个升级包描述数据块和若干个升级数据块,这些数据块顺次从第一主站或第二主站或第三主站传送到嵌入式终端上,暂存在嵌入式终端的数据存储器的预先划定的区域上,传送结束后由嵌入式终端自动合并还原为升级程序包。

所述的升级程序包为第一主站或第二主站或第三主站发送的升级包;该升级包的数据块顺次从第一主站或第二主站或第三主站传送到嵌入式终端,这个过程可以被系统其他事项中断;两个数据块传送之间,第一主站或第二主站或第三主站可以下发其他指令,嵌入式终端可以被重新启动,第一主站或第二主站或第三主站也可以被重新启动。

所述的升级程序包为第一主站或第二主站或第三主站发送的升级包;该升级包的数据块传送具有故障自动恢复的能力;第一主站或第二主站或第三主站可以查询到正在传送的升级包的数据块数量,并继续传送后续的升级包数据块。

所述的升级程序包在分块传送和合并还原的过程中,经过了二层的检查校验,其过程如下:

在每个升级数据块的传送过程中包含自身的校验信息,嵌入式终端接收后先核对升级数据块的校验信息,正确后才进行存储,并通知对应的主站发送下一个升级数据块;

在升级包描述数据块中包含校验信息,嵌入式终端在所有数据块传送结束后,合并还原成升级程序包,还要对升级包描述数据块的校验信息进行检查校验,以此确保升级程序包正确传送。

所述的一次远程升级更新过程,可以同时更新多个程序模块,每个程序模块做为一个升级程序包进行传送,多个升级程序包之间可以并发传送。

本发明的一种可软件在线升级的嵌入式系统及在线升级方法,嵌入式终端设备由主控芯片、程序存储器件、数据存储器件、以及能够和主站(可以是第一主站,也可以是第二主站,或者可以是第三主站)通信的通讯接口构成。软件部分包括系统程序(启动程序、引导程序和嵌入式操作系统)和业务程序。

在主站(包括第一主站、第二主站和第三主站)与嵌入式终端之间制定有一个通讯协议,该通讯协议使得嵌入式终端设备和主站之间可以交换数据。升级程序包按照该种通讯协议方式由主站传送到嵌入式终端设备。该通讯协议能够支持多种通讯方式,可以是远程通讯(如TCP/UDP、GPRS/CDMA、PSTN、230MHz无线等),或者是本地连接的通讯(如USB、RS232、RS485、高速红外等),还可以是近距离通讯(如远红外、无线射频、蓝牙等)。只要能够实现主站和嵌入式设备交换数据的通讯方式都能够完成在线升级包的传输。

软件升级包的传输和更新过程在业务程序中实现。

系统的引导过程依次从A区和B区轮流进行,每次进行系统软件升级则调换引导区域。系统软件升级包更新的区域是当前非引导区域。即系统从A区引导,则软件版本更新至B区。反之,系统从B区引导,则软件版本更新至A区。

操作系统引导成功之后,再检查A存储区和B存储区的软件版本是否一致,如果不一致,则用引导区的版本替换非引导区的版本,以此保持2个区域(即A存储区和B存储区)的软件版本同步。

若更新后的操作系统不能成功引导,则从旧版本系统引导区引导,并将更新过的系统区域还原成旧版本。

本发明的有益效果是,由于采用了一设在远程并能通过无线网络接入而与所述嵌入式终端相连接的第一主站、一设在近程并能通过无线方式接入而与所述嵌入式终端相连接的第二主站、一设在近程并能通过本地接入而与所述嵌入式终端相连接的第三主站和包括有主控芯片、程序存储器、数据存储器、远程通信接口及本地/近程通信接口的嵌入式终端来构成可软件在线升级的嵌入式系统;且在嵌入式终端的程序存储器中划分有具有对等结构的A区和B区,系统的引导过程依次从A区和B区轮流进行,每次进行系统软件升级则调换引导区域;系统软件升级包更新的区域是当前非引导区域,即系统从A区引导,则软件版本更新至B区;反之,系统从B区引导,则软件版本更新至A区。该嵌入式系统及在线升级方法,具有如下有益效果:一是,系统程序在程序存储器保存双备份,如果升级过程失败,可以从上一次成功启动的区域还原,具有鲁棒性;二是,传输过程具有多重校验,具备故障恢复的能力,支持并发传输;三是,各种通讯方式均可以实现升级操作,具有灵活性;四是,升级过程的传输和控制过程在应用层实现,用户可以自行升级。

以下结合附图及实施例对本发明作进一步详细说明;但本发明的一种可软件在线升级的嵌入式系统及在线升级方法不局限于实施例。

附图说明

图1是本发明的可软件在线升级的嵌入式系统的结构示意图;

图2是本发明的嵌入式终端的结构示意图;

图3是本发明的嵌入式终端的程序存储器的划分方式示意图;

图4是本发明的软件升级包的传输和更新过程流程图。

具体实施方式

实施例,参见附图所示,本发明的一种可软件在线升级的嵌入式系统,包括:

一嵌入式终端1,其包括主控芯片11、程序存储器12、数据存储器13、远程通信接口14和本地/近程通信接口15;主控芯片11分别与程序存储器12、数据存储器13、远程通信接口14和本地/近程通信接口15相连接;该程序存储器12至少划分为具有对等结构的A区和B区,每个区又进一步划分为具有相同的大小和结构的三个子区域;所述的三个子区域分别是用来存储启动程序的启动程序区LOADER、用来存储引导程序的引导程序区BOOT和用来存储系统程序的系统程序区SYSTEM;该数据存储器13设有能够同时存储业务程序、业务数据及其升级程序包的存储空间;所述的启动程序区LOADER还存储有升级控制信息;该嵌入式终端1可以还具有带数字寄存器的电子器件,如果具有带数字寄存器的电子器件,该数字寄存器被用来存放升级控制信息的校验信息;嵌入式终端1具有引导程序BSP和嵌入式操作系统;

一设在远程并能通过无线网络5接入而与所述嵌入式终端相连接的第一主站2,该第一主站2与嵌入式终端1之间设有相互认可的通信协议以使第一主站2与嵌入式终端1之间能够实现数据交换,第一主站2向嵌入式终端1发送升级程序包及其升级指令,嵌入式终端1进行软件升级;无线网络5是公用或专用的远程通讯网络;

一设在近程并能通过无线方式接入而与所述嵌入式终端相连接的第二主站3,该第二主站3与嵌入式终端1之间设有相互认可的通信协议以使第二主站3与嵌入式终端1之间能够实现数据交换,第二主站3向嵌入式终端发送升级程序包及其升级指令,嵌入式终端1进行软件升级;

一设在近程并能通过本地接入而与所述嵌入式终端相连接的第三主站4,该第三主站4与嵌入式终端1之间设有相互认可的通信协议以使第三主站4与嵌入式终端1之间能够实现数据交换,第三主站4向嵌入式终端发送升级程序包及其升级指令,嵌入式终端1进行软件升级。

其中:

程序存储器12采用Flash存储器件;

第二主站3、第三主站4分别为手持式设备或台式计算机或手提电脑。

一种嵌入式系统的软件在线升级方法,包括如下步骤:

a.嵌入式终端1根据预先设定的引导模式从A区启动,加载A区的引导程序,引导A区的操作系统程序,进入工作状态;如图4的框401至框408所示;

b.由第一主站2或第二主站3或第三主站4的其中一个主站向嵌入式终端1发送若干个用于软件升级的升级程序包;嵌入式终端1检验升级程序包,确保能够完整正确地接收到所有的升级程序包;如图4的框409所示;

c.发送升级程序包的主站向嵌入式终端1发送指令,通知嵌入式终端1进行软件升级更新;

d.嵌入式终端1使用升级程序包更新B区,并在A区的启动程序区中登记升级控制信息,该升级控制信息标记为新版本就绪;如图4的框410所示;

e.嵌入式终端1重新启动,从A区启动,检查A区登记的升级控制信息,在发现升级控制信息标记为新版本就绪时,再一次登记升级控制信息,该升级控制信息标记为新版本启用,并加载B区的引导程序,引导B区的操作系统程序,进入工作状态;如图4的框411所示;

f.若引导系统成功,则将B区的引导程序区和系统程序区复制到A区,再次登记升级控制信息,该升级控制信息标记为新版本已更新;升级过程结束;如图4的框407所示;

g.若引导系统失败,经过一个预先设定时间的超时,嵌入式终端在看门狗电路作用下进行复位;如图4的框412所示;

h.嵌入式终端重新启动,从A区启动,检查升级控制信息,发现升级控制信息的标记仍为新版本启用而未被修改为新版本已更新,则加载A区的引导程序,引导A区的操作系统程序,进入工作状态;如图4的框401至框406所示;

i.引导系统成功,将A区的引导程序区和系统程序区复制到B区,再次登记升级控制信息,该升级控制信息标记为新版本废弃;系统恢复到升级前的状态,升级过程结束;如图4的框407所示。

其中:

预先设定的引导模式是依次从A区和B区轮流进行,每次成功进行系统软件升级后则调换引导区域。

升级程序包被分解为一个升级包描述数据块和若干个升级数据块,这些数据块顺次从第一主站或第二主站或第三主站传送到嵌入式终端上,暂存在嵌入式终端的数据存储器的预先划定的区域上,传送结束后由嵌入式终端自动合并还原为升级程序包。

升级程序包为第一主站或第二主站或第三主站发送的升级包;该升级包的数据块顺次从第一主站或第二主站或第三主站传送到嵌入式终端,这个过程可以被系统其他事项中断;两个数据块传送之间,第一主站或第二主站或第三主站可以下发其他指令,嵌入式终端可以被重新启动,第一主站或第二主站或第三主站也可以被重新启动。

升级程序包为第一主站或第二主站或第三主站发送的升级包;该升级包的数据块传送具有故障自动恢复的能力;第一主站或第二主站或第三主站可以查询到正在传送的升级包的数据块数量,并继续传送后续的升级包数据块。

升级程序包在分块传送和合并还原的过程中,经过了二层的检查校验,其过程如下:

在每个升级数据块的传送过程中包含自身的校验信息,嵌入式终端接收后先核对升级数据块的校验信息,正确后才进行存储,并通知对应的主站发送下一个升级数据块;

在升级包描述数据块中包含校验信息,嵌入式终端在所有数据块传送结束后,合并还原成升级程序包,还要对升级包描述数据块的校验信息进行检查校验,以此确保升级程序包正确传送。

在一次远程升级更新过程中,可以同时更新多个程序模块,每个程序模块做为一个升级程序包进行传送,多个升级程序包之间可以并发传送;提高通讯通道的效率。

本发明的一种可软件在线升级的嵌入式系统及在线升级方法,嵌入式终端设备由主控芯片、程序存储器件、数据存储器件、以及能够和主站(可以是第一主站,也可以是第二主站,或者可以是第三主站)通信的通讯接口构成。软件部分包括系统程序(启动程序、引导程序和嵌入式操作系统)和业务程序。

在主站(包括第一主站、第二主站和第三主站)与嵌入式终端之间制定有一个通讯协议,该通讯协议使得嵌入式终端设备和主站之间可以交换数据。升级程序包按照该种通讯协议方式由主站传送到嵌入式终端设备。该通讯协议能够支持多种通讯方式,可以是远程通讯(如TCP/UDP、GPRS/CDMA、PSTN、230MHz无线等),或者是本地连接的通讯(如USB、RS232、RS485、高速红外等),还可以是近距离通讯(如远红外、无线射频、蓝牙等)。只要能够实现主站和嵌入式设备交换数据的通讯方式都能够完成在线升级包的传输。

软件升级包的传输和更新过程在业务程序中实现。

系统的引导过程依次从A区和B区轮流进行,每次进行系统软件升级则调换引导区域。系统软件升级包更新的区域是当前非引导区域。即系统从A区引导,则软件版本更新至B区。反之,系统从B区引导,则软件版本更新至A区。

操作系统引导成功之后,再检查A存储区和B存储区的软件版本是否一致,如果不一致,则用引导区的版本替换非引导区的版本,以此保持2个区域(即A存储区和B存储区)的软件版本同步。

若更新后的操作系统不能成功引导,则从旧版本系统引导区引导,并将更新过的系统区域还原成旧版本。

上述实施例仅用来进一步说明本发明的可软件在线升级的嵌入式系统及在线升级方法,但本发明并不局限于实施例,凡是依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均落入本发明技术方案的保护范围内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号