《嵌入式系统的升级方法和装置.pdf》由会员分享,可在线阅读,更多相关《嵌入式系统的升级方法和装置.pdf(12页珍藏版)》请在专利查询网上搜索。
1、10申请公布号CN104133709A43申请公布日20141105CN104133709A21申请号201410384588522申请日20140806G06F9/44520060171申请人曙光信息产业(北京)有限公司地址100193北京市海淀区东北旺西路8号院36号楼72发明人孙浩74专利代理机构北京德恒律治知识产权代理有限公司11409代理人章社杲孙征54发明名称嵌入式系统的升级方法和装置57摘要本发明公开了一种嵌入式系统的升级方法和装置,该嵌入式系统的升级方法包括读取存储设备中镜像的镜像头信息,根据读取的镜像头信息确定镜像的系统启动分区号;根据系统启动分区号确定待升级的分区;读取待升。
2、级的分区的分区信息,根据待升级的分区所对应的分区镜像的版本号与外设中预先存储的升级镜像的版本号,确定是否对存储设备中的分区镜像进行升级;在确定结果为是的情况下,将升级镜像同步到待升级的分区中的指定位置。本发明通过读取存储设备中镜像的镜像头信息来确定系统启动时所使用的分区以及升级需要的分区,升级过程不影响系统正常运行,升级过程无需用户手动参与,稳定性高,增强了用户体验。51INTCL权利要求书2页说明书6页附图3页19中华人民共和国国家知识产权局12发明专利申请权利要求书2页说明书6页附图3页10申请公布号CN104133709ACN104133709A1/2页21一种嵌入式系统的升级方法,其特。
3、征在于,包括读取存储设备中镜像的镜像头信息,根据读取的所述镜像头信息确定所述镜像的系统启动分区号;根据所述系统启动分区号确定待升级的分区;读取所述待升级的分区的分区信息,根据所述待升级的分区所对应的分区镜像的版本号与外设中预先存储的升级镜像的版本号,确定是否对所述存储设备中的所述分区镜像进行升级;在确定结果为是的情况下,将所述升级镜像同步到所述待升级的分区中的指定位置。2根据权利要求1所述的升级方法,其特征在于,在确定是否对所述存储设备中的所述分区镜像进行升级时,在外设中预先存储的所述升级镜像的版本号大于所述待升级的分区镜像所对应的镜像版本号的情况下,确定需要对所述存储设备中的所述分区镜像进行。
4、升级。3根据权利要求1所述的升级方法,其特征在于,进一步包括在将所述升级镜像同步到所述待升级的分区中的指定位置后,根据同步后的镜像对升级后的分区所对应的分区信息进行更新;将镜像头信息中的系统启动分区号更新为此次被升级的分区的分区号。4根据权利要求3所述的管升级方法,其特征在于,需要更新的所述分区信息包括以下至少之一更新分区版本号、更新分区验证码、更新分区镜像的大小。5根据权利要求4所述的升级方法,其特征在于,在对分区信息进行更新后,重新启动所述存储设备,其中,重新启动的步骤包括读取升级完成后的镜像的镜像头信息,获取更新后的系统启动分区号,并读取所述系统启动分区号所对应分区的分区信息,根据该分区。
5、信息中的分区验证码对该分区的镜像进行校验;当校验异常的情况下,重置本次升级完成后的所述镜像的镜像头信息,将系统启动分区号更新为原启动分区所对应的分区号,并通过原启动分区启动所述存储设备。6一种嵌入式系统的升级装置,其特征在于,包括读取模块,用于读取存储设备中镜像的镜像头信息,还用于读取待升级的分区的分区信息;第一确定模块,用于根据读取的所述镜像头信息确定所述镜像的系统启动分区号,并根据所述系统启动分区号确定待升级的分区;第二确定模块,用于根据所述待升级的分区所对应的分区镜像的版本号与外设中预先存储的升级镜像的版本号,确定是否对所述存储设备中的所述镜像进行升级;升级模块,用于在确定结果为是的情况。
6、下,将所述升级镜像同步到所述待升级的分区中的指定位置。7根据权利要求6所述的升级装置,其特征在于,进一步包括更新模块,用于在将所述升级镜像同步到所述待升级的分区中的指定位置后,根据同步后的镜像对升级后的分区所对应的分区信息进行更新;将镜像头信息中的系统启动分区号更新为此次被升级的分区的分区号。权利要求书CN104133709A2/2页38根据权利要求7所述的升级装置,其特征在于,所述更新模块更新的信息,包括以下至少之一更新分区版本号、更新分区验证码、更新分区镜像的大小。9根据权利要求8所述的升级装置,其特征在于,进一步包括设备启动模块,用于在对分区信息进行更新后,重新启动所述存储设备,其中读取。
7、模块进一步用于在重新启动过程中,读取升级完成后的镜像的镜像头信息,获取更新后的系统启动分区号,并读取所述系统启动分区号所对应分区的分区信息;验证模块,用于根据所述系统启动分区号所对应分区的分区验证码对该分区的镜像进行校验。10根据权利要求9所述的升级装置,其特征在于,包括重置模块,用于当校验异常的情况下,重置本次升级完成后的所述镜像的镜像头信息,将系统启动分区号更新为原启动分区所对应的分区号,并通过原启动分区启动所述存储设备。权利要求书CN104133709A1/6页4嵌入式系统的升级方法和装置技术领域0001本发明涉及嵌入式领域具体来说,涉及一种嵌入式系统的升级方法和装置。背景技术0002随。
8、着IT技术的飞速发展,无论嵌入式系统的手持设备还是服务器等,用户对设备功能的需求不断增加,这就需要设备制造商不断对设备的系统进行升级与维护。0003在现有技术的升级方法中,对于嵌入式系统的升级普遍需要通过RS232或者网络等其他的外设连接到设备的控制终端上,然后进入相应的升级界面,运行升级程序,整个过程几乎都需要用户手动参与,并且系统在升级的过程中,用户需要终止当前运行的程序,大大的影响了用户体验,而且升级人员需要具备一定的专业知识。0004针对相关技术中嵌入式设备升级需要人工手动参与且升级人员需要具备一定专业知识,升级过程影响当前的操作的问题,目前尚未提出有效的解决方案。发明内容0005针对。
9、相关技术中的问题,本发明提出一种嵌入式系统的升级方法,解决了现有技术中,升级过程需要人工手动参与且升级人员需要具备一定专业知识,升级过程影响当前操作的问题。0006本发明的技术方案是这样实现的0007根据本发明的一个方面,提供了一种嵌入式系统的升级方法,该方法包括0008读取存储设备中镜像的镜像头信息,根据读取的镜像头信息确定镜像的系统启动分区号;0009根据系统启动分区号确定待升级的分区;0010读取待升级的分区的分区信息,根据待升级的分区所对应的分区镜像的版本号与外设中预先存储的升级镜像的版本号,确定是否对存储设备中的分区镜像进行升级;0011在确定结果为是的情况下,将升级镜像同步到待升级。
10、的分区中的指定位置。0012其中,在确定是否对存储设备中的分区镜像进行升级时,可以在外设中预先存储的升级镜像的版本号大于待升级的分区镜像所对应的镜像版本号的情况下,确定需要对存储设备中的分区镜像进行升级。0013此外,在将升级镜像同步到待升级的分区中的指定位置后,还可以根据同步后的镜像对升级后的分区所对应的分区信息进行更新;0014将镜像头信息中的系统启动分区号更新为此次被升级的分区的分区号。0015其中,需要更新的分区信息包括以下至少之一0016更新分区版本号、更新分区验证码、更新分区镜像的大小。0017此外,在对分区信息进行更新后,重新启动存储设备,其中,重新启动的步骤包括0018读取升级。
11、完成后的镜像的镜像头信息,获取更新后的系统启动分区号,并读取系说明书CN104133709A2/6页5统启动分区号所对应分区的分区信息,根据该分区信息中的分区验证码对该分区的镜像进行校验;0019当校验异常的情况下,重置本次升级完成后的镜像的镜像头信息,将系统启动分区号更新为原启动分区所对应的分区号,并通过原启动分区启动存储设备。0020根据本发明的另一方面,提供了一种嵌入式系统的升级装置,该装置包括0021读取模块,用于读取存储设备中镜像的镜像头信息,还用于读取待升级的分区的分区信息;0022第一确定模块,用于根据读取的镜像头信息确定镜像的系统启动分区号,并根据系统启动分区号确定待升级的分区。
12、;0023第二确定模块,用于根据待升级的分区所对应的分区镜像的版本号与外设中预先存储的升级镜像的版本号,确定是否对存储设备中的镜像进行升级;0024升级模块,用于在确定结果为是的情况下,将升级镜像同步到待升级的分区中的指定位置。0025其中,该装置进一步包括0026更新模块,用于在将升级镜像同步到待升级的分区中的指定位置后,根据同步后的镜像对升级后的分区所对应的分区信息进行更新;0027将镜像头信息中的系统启动分区号更新为此次被升级的分区的分区号。0028其中,更新模块更新的信息,包括以下至少之一0029更新分区版本号、更新分区验证码、更新分区镜像的大小。0030其中,该装置进一步包括0031。
13、设备启动模块,用于在对分区信息进行更新后,重新启动存储设备,其中读取模块进一步用于在重新启动过程中,读取升级完成后的镜像的镜像头信息,获取更新后的系统启动分区号,并读取系统启动分区号所对应分区的分区信息;0032验证模块,用于根据系统启动分区号所对应分区的分区验证码对该分区的镜像进行校验。0033其中,该装置进一步包括0034重置模块,用于当校验异常的情况下,重置本次升级完成后的镜像的镜像头信息,将系统启动分区号更新为原启动分区所对应的分区号,并通过原启动分区启动存储设备。0035本发明通过读取存储设备中镜像的镜像头信息来确定系统启动时所需要使用的分区以及需要升级的分区,分区之间互不影响,升级。
14、过程不影响系统正常运行情况,并且升级过程无需用户手动参与简单方便,增强了用户体验,提高了系统的稳定性及可靠性。附图说明0036为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。0037图1是本发明实施例中镜像头的信息结构示意图;0038图2是本发明实施例中镜像头中分区的信息结构示意图;说明书CN104133709A3/6页60039图3是根据本发明实施例的通过可插拔外设对嵌入式系统进行升级的方法流程图;0。
15、040图4是根据本发明实施例的系统启动阶段时嵌入式系统的升级方法的流程示意图;0041图5是根据本发明实施例的系统运行阶段时嵌入式系统的升级方法的流程示意图;0042图6是根据本发明实施例的系统升级后系统重启过程的流程示意图;0043图7是根据本发明实施例的嵌入式系统的升级装置的框图。具体实施方式0044下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。0045首先需要说明的是,每种镜像都包含一个镜像头信息,图1。
16、示出了镜像头的信息结构,其包括0046系统启动分区号,用来标识系统启动阶段所使用的分区。比如,系统启动分区号为分区一,则系统启动时需要从分区一种读取镜像;分区二则为待升级的分区号。0047分区的信息,用来标识该分区的基本信息。0048如图2所示,分区的信息至少包括以下至少之一0049分区镜像的名称、分区版本号、分区校验码、分区镜像起始位置及分区镜像的大小。0050根据本发明的实施例,提供了一种嵌入式系统的升级方法。0051如图3所示,根据本发明实施例的嵌入式系统的升级方法包括0052步骤S301,读取存储设备中镜像的镜像头信息,根据读取的镜像头信息确定镜像的系统启动分区号;0053步骤S303。
17、,根据系统启动分区号确定待升级的分区;0054步骤S305,读取待升级的分区的分区信息,根据待升级的分区所对应的分区镜像的版本号与外设中预先存储的升级镜像的版本号,确定是否对存储设备中的分区镜像进行升级;0055步骤S307,在确定结果为是的情况下,将升级镜像同步到待升级的分区中的指定位置。0056其中,在确定是否对存储设备中的分区镜像进行升级时,可以在外设中预先存储的升级镜像的版本号大于待升级的分区镜像所对应的镜像版本号的情况下,确定需要对存储设备中的分区镜像进行升级。0057此外,在将升级镜像同步到待升级的分区中的指定位置后,还可以根据同步后的镜像对升级后的分区所对应的分区信息进行更新;将。
18、镜像头信息中的系统启动分区号更新为此次被升级的分区的分区号。0058这样,下次设备启动的时候将自动选择镜像为最新的版本进行启动。说明书CN104133709A4/6页70059其中,需要更新的分区信息包括以下至少之一0060更新分区版本号、更新分区验证码、更新分区镜像的大小。0061另外,在对分区信息进行更新后,可以重新启动存储设备,其中,重新启动的步骤包括0062读取升级完成后的镜像的镜像头信息,获取更新后的系统启动分区号,并读取系统启动分区号所对应分区的分区信息,根据该分区信息中的分区验证码对该分区的镜像进行校验;0063当校验异常的情况下,重置本次升级完成后的镜像的镜像头信息,将系统启动。
19、分区号更新为原启动分区所对应的分区号,并通过原启动分区启动存储设备。0064这样,即使在升级过程中发生突发状况导致升级失败,在下次启动的时候也不会影响系统的正常运行,并且通过验证系统是否升级成功,在验证异常的情况下,系统采用原启动分区进行当前系统的启动,并可以继续对原需要升级的分区进行升级,并不会影响当前系统的运行状况,提高了系统的稳定性和可靠性。0065另外,本发明所提供的嵌入式系统的升级方法既可以在系统启动阶段时进行又可以在系统运行阶段时进行,为了方便说明和理解,在下述实施例中,外设以SD卡为例进行说明,但需要说明的是,本发明中的外设不仅仅限于SD卡,还可以为其他外部存储器件。0066图4。
20、示出了根据本发明实施例的系统启动阶段时嵌入式系统的升级方法的流程示意图,该系统升级过程如下00671、检测SD卡是否插入,如果没有插入,进入正常启动流程;00682、如果SD卡插入,从SD卡中读取升级脚本,如果该文件不存在,则进入正常启动流程;00693、从升级脚本中获取镜像的版本号信息以及是否升级指令,通过升级指令可定制升级过程;00704、如果镜像的版本号小于设备内置镜像的版本号,则进入正常启动流程;00715、如果镜像的版本号大于设备内置镜像的版本号,则进入升级流程;00726、升级流程首先通过升级脚本中的升级指令将SD卡中的镜像读到内存中,再将内存中的镜像同步到设备内置的存储设备中,此。
21、过程通过指示灯的绿色闪烁标识;00737、升级成功,指示灯绿色常亮,系统自动重启,指示灯灭。0074图5示出了根据本发明实施例的系统运行阶段时嵌入式系统的升级方法的流程示意图,该系统升级过程如下0075系统正常运行00761、后台监听进程通过SD卡的在位信号引脚来检测SD卡是否插入,如果没有插入,则系统正常运行;00772、如果SD卡插入,从SD卡中读取升级脚本,如果该文件不存在,则进入正常启动流程;00783、从升级脚本中获取镜像的版本号信息以及升级指令,通过升级指令可定制升级过程;00794、如果镜像的版本号小于设备内置镜像的版本号,则退出升级流程,系统正常运行;说明书CN10413370。
22、9A5/6页800805、如果镜像的版本号大于设备内置镜像的版本号,则进入升级流程;00816、升级流程首先调整系统的运行等级,进入安全升级模式,然后通过升级脚本中的升级指令将SD卡中的镜像读到内存中,再将内存中的镜像同步到设备内置的存储设备中,此过程通过指示灯的绿色闪烁标识;00827、升级成功,指示灯绿色常亮,系统自动重启,指示灯灭。0083下面详细介绍将SD卡中保存的升级镜像拷贝至待升级分区中的过程,其具体流程如下00841、读取该镜像的镜像头信息,获取镜像头信息中的系统启动分区号,根据系统启动分区号即可得到待升级的分区号;00852、读取待升级的分区号所对应的分区信息,获取分区镜像的起。
23、始位置;00863、将镜像本身更新到指定的位置处;00874、更新待升级的分区号所对应的分区信息,刷新分区版本号、分区校验码、分区镜像的大小等信息;00885、将镜像头信息中的系统启动分区号更新为此次被升级的分区号。0089系统升级后重启的过程如图6所示,其过程如下00901、读取该镜像的镜像头信息,获取系统启动分区号;00912、读取系统启动分区号所对应的分区信息,获取分区镜像的起始位置以及分区镜像的大小等信息;00923、从指定位置处读取对应的镜像;00934、根据分区信息中的分区校验码对镜像进行校验;00945、如果校验正常,则使用最新镜像进行启动,升级过程结束;00956、如果校验异常。
24、,重置该镜像的镜像头信息,将系统启动分区号更新为原启动分区的分区号,并使用该分区的镜像进行启动;0096此外,系统镜像升级后的重启流程也可以通过配置选择启动方式,默认配置是使用系统启动分区的镜像进行启动,也可以动态配置为使用任一分区进行启动。0097根据本发明的实施例,还提供了一种嵌入式系统的升级装置。0098如图7所示,根据本发明实施例的嵌入式系统的升级装置包括0099读取模块71,用于读取存储设备中镜像的镜像头信息,还用于读取待升级的分区的分区信息;0100第一确定模块72,用于根据读取的镜像头信息确定镜像的系统启动分区号,并根据系统启动分区号确定待升级的分区;0101第二确定模块73,用。
25、于根据待升级的分区所对应的分区镜像的版本号与外设中预先存储的升级镜像的版本号,确定是否对存储设备中的镜像进行升级;0102升级模块74,用于在确定结果为是的情况下,将升级镜像同步到待升级的分区中的指定位置。0103其中,该装置还包括0104更新模块未示出,用于在将升级镜像同步到待升级的分区中的指定位置后,根据同步后的镜像对升级后的分区所对应的分区信息进行更新;0105将镜像头信息中的系统启动分区号更新为此次被升级的分区的分区号。说明书CN104133709A6/6页90106其中,更新模块更新的信息,包括以下至少之一0107更新分区版本号、更新分区验证码、更新分区镜像的大小。0108其中,该装。
26、置进一步包括0109设备启动模块未示出,用于在对分区信息进行更新后,重新启动存储设备,其中读取模块71进一步用于在重新启动过程中,读取升级完成后的镜像的镜像头信息,获取更新后的系统启动分区号,并读取系统启动分区号所对应分区的分区信息;0110验证模块未示出,用于根据系统启动分区号所对应分区的分区验证码对该分区的镜像进行校验。0111其中,该装置进一步包括0112重置模块未示出,用于当校验异常的情况下,重置本次升级完成后的镜像的镜像头信息,将系统启动分区号更新为原启动分区所对应的分区号,并通过原启动分区启动存储设备。0113综上所述,借助于本发明的上述技术方案,通过读取存储设备中镜像的镜像头信息。
27、来确定系统启动时所需要使用的分区以及升级需要的分区,分区之间互不影响,升级过程不影响系统正常运行情况,并且,当将版本最新的镜像同步到被升级的分区的位置后,对被升级的镜像进行更新,以保证下次自动重启的时候,系统将运行的是最新的镜像版本,并且在重启过程中,通过对新升级完成的镜像进行验证处理,当验证出现异常的情况下,系统将使用原先的分区镜像进行启动,从而使系统可以照常启动不会影响用户的使用,而且整个升级过程简单方便,升级过程无需用户手动参与,增强了用户体验,稳定性及可靠性大大提高。0114以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。说明书CN104133709A1/3页10图1图2图3说明书附图CN104133709A102/3页11图4图5说明书附图CN104133709A113/3页12图6图7说明书附图CN104133709A12。