嵌入式操作系统的升级方法技术方案

技术编号:7514669 阅读:191 留言:0更新日期:2012-07-11 20:58
本发明专利技术涉及一种嵌入式操作系统升级的方法,步骤为:(1)把升级用启动程序、系统程序、运行配置信息与升级结构信息打包成一个升级文件并存储;(2)运行启动程序时检测是否有升级文件,若没有则正常启动系统程序,执行步骤(6);有则执行步骤(3);(3)获取升级文件中的升级结构信息;(4)根据升级结构信息依次升级每个需升级的模块,直到所有模块都升级完成:(5)结束升级,运行升级后的系统程序;(6)系统程序运行时读取运行配置信息,根据配置信息运行在不同的状态。本发明专利技术所述方法可有效提高嵌入式操作系统的升级效率,同时可有效避免以往通过外部通信端口操作升级时产生失误造成系统混乱的问题。

【技术实现步骤摘要】

本专利技术涉及一种系统升级方法,具体涉及一种嵌入式系统升级方法。
技术介绍
目前软件升级的方法一般有两种,一种是在开发过程中,开发人员利用调试串口, 通过命令的方式指定需要更新的文件内容,依次把相应的文件烧录到目标板上,这种操作过程比较繁琐,要对命令有一定的了解,且对数据连接有依赖。另外一种是软件发布后的更新维护,如有多个应用程序需要升级的情况下,需要避免由于文件过多造成的混乱,同时, 由于升级文件直接暴露给用户,可能造成文件被修改后没有办法进行检测校验,最终导致升级失败。
技术实现思路
针对上述问题,本专利技术所要解决的技术问题是针对嵌入式操作系统提供一种安全性高的升级方法。为解决上述问题,本专利技术提供一种嵌入式操作系统升级的方法,其步骤为(1)把升级用启动程序、系统程序、运行配置信息分别作为一个模块打包成一个升级文件,为该升级文件配置升级结构信息,并将该升级文件存储在外部存储器中;(2)运行系统启动程序,启动程序检测外部存储器内是否有升级文件,若没有则正常启动原系统程序,执行步骤(6);若有则执行步骤(3);(3)获取升级文件中的升级结构信息;(4)根据升级结构信息依次升级对应的模块,直到所有模块都升级完成;(5)结束升级,运行系统程序;(6)系统程序运行时读取运行配置信息,根据配置信息运行相应的状态。具体的,所述升级结构信息包括升级包的标志位、头部大小、版本信息、区段数目和具体的区段信息;所述具体的区段信息又包括区段类型、区段起始位置、区段长度、区段校验值及区段版本信息。具体的,步骤(1)中所述系统程序包括一个或一个以上模块。具体的,步骤(5)中所述不同的状态包括工程状态、调试状态;及各个驱动的细节状态,包括显示屏、触摸屏、CPU、内存的参数配置而表现出的运行状态。与现有技术相比,本专利技术的有益效果在于本专利技术所述方法将启动程序、系统程序、运行配置信息与升级结构信息等打包成一个升级文件,系统升级时,前期只读取升级文件中的升级结构信息,再根据升级结构信息,依次对对应的模块(包括启动程序、系统程序中的某些应用程序及运行配置信息)逐一进行升级,可有效提高嵌入式操作系统的升级效率,同时可有效避免以往由于升级文件过多给用户造成的混乱及由于升级文件直接暴露给用户,可能造成文件被修改后没有办法进行检测校验,最终导致升级失败的问题。附图说明图1为本专利技术所述方法流程示意图; 图2为升级文件打包流程示意图。具体实施例方式为了便于本领域技术人员理解,下面将结合附图以及实施例对本专利技术进行进一步详细描述。本专利技术所揭示的中的重点在于1、把启动程序、系统程序、运行时配置信息打包在一个升级文件里面,并在打包文件中配置升级结构信息,系统根据升级结构信息引导直接完成多个文件的升级;2、系统程序根据运行时配置信息运行在不同的状态下,即可以通过只升级配置信息使系统程序运行在不同的状态下,应用非常灵活。打包流程如图2所示,首先通过编译器生成启动程序、系统程序,再将上述启动程序、系统程序打包,接着编辑运行配置信息与升级结构信息,最后将运行配置信息和升级结构信息也加入上述打包文件中形成二个升级文件。该升级结构信息见下表_升级包标志位I升级包头部大小I升级包版本信息I升级包区段数目I升级包区段信息丨其中,升级包标志位用于系统程序读取判断升级包的存在,升级包头部大小表示该结构信息的文件大小,区段数目表示本升级包中所包含的升级模块的数目。所述具体的区段信息又包括区段类型、区段起始位置、区段长度、区段校验值及区段版本信息,如下表: 丨区段类型I区段起始位置I区段长度I区段校验值I区段版本Ifin ,这些信息是表示升级包中每个升级模块的具体信息,以便于升级每个模块过程中,系统对升级信息的自动控制。应用时,将该升级文件存储在需升级的系统的外部存储器中。升级流程如图1所示a.系统上电后,先判断是运行系统自身存储器程序还是运行外部存储器程序,并按照设定运行,然后启动程序检测外部存储器内是否有升级文件,若没有则启动原系统程序,执行步骤e ;若有则执行下一个步骤b ;b.获取升级文件中的升级结构信息;c.根据升级结构信息依次升级对应的模块,直到所有模块都升级完成;具体是由程序根据步骤b中获取到的区段类型、区段起始位置、区段长度等信息,依次读取相应的数据,并更新到系统内部存储区域中;d.结束升级,运行升级后的系统程序;这里如果系统程序有更新,则自动加载新的系统程序执行;e.系统程序运行时获取运行配置信息,根据配置信息系统运行在相应的状态下;这里系统可根据不同的配置,初始化的时候选择运行在不同的状态下。上述,系统由步骤(1)直接运行步骤(5)的过程,相当于只升级了运行配置信息,可根据运行配置信息使系统运行在不同的状态。所述的配置信息包括显示屏、触摸屏、CPU、内存等参数配置,所述不同的状态包括工程状态、调试状态;及由于显示屏、触摸屏、CPU、内存等参数配置不同而使系统表现出的不同的运行状态。系统由步骤(1)依次运行的过程,体现了系统程序和/或启动程序升级的过程。 上述实施例为本专利技术实现的优选方案,需要说明的是,在不脱离本专利技术构思前提下,任何显而易见的替换和微小变化均在本专利技术的保护范围之内。权利要求1.,其步骤为把升级用启动程序、系统程序、运行配置信息分别作为一个模块打包成一个升级文件, 为该升级文件配置升级结构信息,并将该升级文件存储在外部存储器中;运行系统启动程序,启动程序检测外部存储器内是否有升级文件,若没有则正常启动原系统程序,执行步骤(6);若有则执行步骤(3);获取升级文件中的升级结构信息;根据升级结构信息依次升级对应的模块,直到所有模块都升级完成;结束升级,运行系统程序;系统程序运行时读取运行配置信息,根据配置信息运行相应的状态。2.根据权利要求1所述的,其特征在于所述升级结构信息包括升级包的标志位、头部大小、版本信息、区段数目和具体的区段信息。3.根据权利要求2所述的,其特征在于所述具体的区段信息包括区段类型、区段起始位置、区段长度、区段校验值及区段版本信息。4.根据权利要求1所述的,其特征在于步骤(1)中所述系统程序包括一个或一个以上模块。5.根据权利要求1所述的,其特征在于步骤(5)中所述不同的状态包括工程状态、调试状态;及各个驱动的细节状态,包括显示屏、触摸屏、CPU、内存的参数配置而表现出的运行状态。全文摘要本专利技术涉及一种嵌入式操作系统升级的方法,步骤为(1)把升级用启动程序、系统程序、运行配置信息与升级结构信息打包成一个升级文件并存储;(2)运行启动程序时检测是否有升级文件,若没有则正常启动系统程序,执行步骤(6);有则执行步骤(3);(3)获取升级文件中的升级结构信息;(4)根据升级结构信息依次升级每个需升级的模块,直到所有模块都升级完成(5)结束升级,运行升级后的系统程序;(6)系统程序运行时读取运行配置信息,根据配置信息运行在不同的状态。本专利技术所述方法可有效提高嵌入式操作系统的升级效率,同时可有效避免以往通过外部通信端口操作升级时产生失误造成系统混乱的问题。文档编号G06F9/445GK102567049SQ20111040712公开日2012年7月11日 申请日期2011年12月9日 优先权日2011年12月9日专利技术者孙易林, 汤沛本文档来自技高网...

【技术保护点】

【技术特征摘要】

【专利技术属性】
技术研发人员:孙易林汤沛锋
申请(专利权)人:惠州市德赛西威汽车电子有限公司
类型:发明
国别省市:

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

1
相关领域技术