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

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

【技术实现步骤摘要】

本专利技术涉及一种嵌入式计算机软件在线升级的技术,尤其是具有嵌入式操作系统的嵌入式计算机的系统软件和应用软件在线升级。
技术介绍
传统的嵌入式终端设备,由于资源和环境条件的限制,在生产阶段就需要将软件代码固化,设备出厂后是无法在现场在线修改的。一旦出现升级需求,要么是设备返厂维修,要么是在现场拆机更换部件板或替换程序存储芯片。随着计算机应用水平的不断提高,为了能够满足客户持续变化的需求,延长产品的生命周期,改善系统的性能,嵌入式产品需要具备在线升级能力。目前公知的嵌入式软件在线升级方法,将工作环境理想化了。现实环境中,我们可能面临各种异常,如通讯传输误码、存储操作故障、传输中断、人工操作失误等现象,任何一项异常的发生,都会造成升级过程失败,甚至引起系统瘫痪导致产品失效。
技术实现思路
本专利技术的目的在于克服现有技术之不足,提供一种可软件在线升级的嵌入式系统及在线升级方法,使用这种方法,能够有效识别在线升级过程中的各种异常状况,并采取相应措施加以补救,或误码重传,或断点续传,或无效抛弃,或失败还原,确保在线升级的正确性和鲁棒性。本专利技术解决其技术问题所采用的技术方案是:一种可软件在线升级的嵌入式系统,包括:一嵌入式终端,其包括主控芯片、程序存储器、数据存储器、远程通信接口和本地/近程通信接口;主控芯片分别与程序存储器、数据存储器、远程通信接口和本地/近程通信接口相连接;该程序存储器至少划分为具有对等结构的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存储区的软件版本是否一本文档来自技高网...

【技术保护点】
一种可软件在线升级的嵌入式系统,其特征在于:包括:一嵌入式终端,其包括主控芯片、程序存储器、数据存储器、远程通信接口和本地/近程通信接口;主控芯片分别与程序存储器、数据存储器、远程通信接口和本地/近程通信接口相连接;该程序存储器至少划分为具有对等结构的A区和B区,每个区又进一步划分为具有相同的大小和结构的三个子区域;所述的三个子区域分别是用来存储启动程序的启动程序区、用来存储引导程序的引导程序区和用来存储系统程序的系统程序区;该数据存储器设有能够同时存储业务程序、业务数据及其升级程序包的存储空间;所述的启动程序区还存储有升级控制信息;一设在远程并能通过无线网络接入而与所述嵌入式终端相连接的第一主站,该第一主站与嵌入式终端之间设有相互认可的通信协议以使第一主站与嵌入式终端之间能够实现数据交换,第一主站向嵌入式终端发送升级程序包及其升级指令,嵌入式终端进行软件升级;一设在近程并能通过无线方式接入而与所述嵌入式终端相连接的第二主站,该第二主站与嵌入式终端之间设有相互认可的通信协议以使第二主站与嵌入式终端之间能够实现数据交换,第二主站向嵌入式终端发送升级程序包及其升级指令,嵌入式终端进行软件升级;一设在近程并能通过本地接入而与所述嵌入式终端相连接的第三主站,该第三主站与嵌入式终端之间设有相互认可的通信协议以使第三主站与嵌入式终端之间能够实现数据交换,第三主站向嵌入式终端发送升级程序包及其升级指令,嵌入式终端进行软件升级。...

【技术特征摘要】
1.一种可软件在线升级的嵌入式系统,其特征在于:包括:一嵌入式终端,其包括主控芯片、程序存储器、数据存储器、远程通信接口和本地/近程通信接口;主控芯片分别与程序存储器、数据存储器、远程通信接口和本地/近程通信接口相连接;该程序存储器至少划分为具有对等结构的A区和B区,每个区又进一步划分为具有相同的大小和结构的三个子区域;所述的三个子区域分别是用来存储启动程序的启动程序区、用来存储引导程序的引导程序区和用来存储系统程序的系统程序区;该数据存储器设有能够同时存储业务程序、业务数据及其升级程序包的存储空间;所述的启动程序区还存储有升级控制信息;一设在远程并能通过无线网络接入而与所述嵌入式终端相连接的第一主站,该第一主站与嵌入式终端之间设有相互认可的通信协议以使第一主站与嵌入式终端之间能够实现数据交换,第一主站向嵌入式终端发送升级程序包及其升级指令,嵌入式终端进行软件升级;一设在近程并能通过无线方式接入而与所述嵌入式终端相连接的第二主站,该第二主站与嵌入式终端之间设有相互认可的通信协议以使第二主站与嵌入式终端之间能够实现数据交换,第二主站向嵌入式终端发送升级程序包及其升级指令,嵌入式终端进行软件升级;一设在近程并能通过本地接入而与所述嵌入式终端相连接的第三主站,该第三主站与嵌入式终端之间设有相互认可的通信协议以使第三主站与嵌入式终端之间能够实现数据交换,第三主站向嵌入式终端发送升级程序包及其升级指令,嵌入式终端进行软件升级。2.根据权利要求1所述的可软件在线升级的嵌入式系统,其特征在于:所述的程序存储器采用Flash存储器件。3.根据权利要求1所述的可软件在线升级的嵌入式系统,其特征在于:所述的第二主站、第三主站分别为手持式设备或台式计算机或手提电脑。4.一种如权利要求1所述的嵌入式系统的软件在线升级方法,其特征在于:包括如下步骤:a.嵌入式终端根据预先设定的引导模式从A区启动,加载A区的引导程序,引导A区的操作系统程序,进入工作状态;b.由第一主站或第二主站或第三主站的其中一个主站向嵌入式终端发送若干个用于软件升级的升级程序包;嵌入式终端检验升级程序包,确保能够完整正确地接收到所有的升级程序包;c.发送升级程序包的主站向嵌入式终端发送指令,通知嵌入式终端进行软件升级更新;d.嵌入式终端使用升级程序包更新B区,并在A区的启动程序区中登记升级控制信息,该升级控制信息标记为新版本就绪;e.嵌入式终端重新启动,从A区启动,检查A区登记的升级控制信息,在发现升级控制信息标记为新版本就绪时,再一次登记升级控制信息,该升级控制信息标记为新版本启用,并加载B区的引导程序,引导B区的操作系统程序,进入工作状态;f.若引导系统成功,则将B区...

【专利技术属性】
技术研发人员:李松涛许良刚林冬武何树生
申请(专利权)人:漳州科能电器有限公司
类型:发明
国别省市:35[中国|福建]

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

1
相关领域技术
  • 暂无相关专利