基于vxworks的应用程序启动方法

文档序号:6508560阅读:442来源:国知局
基于vxworks的应用程序启动方法
【专利摘要】本发明公开了一种基于vxworks的应用程序启动方法,执行以下步骤:运行vxworks系统;启动系统自检程序的第一步,创建检测任务的同时计时;调用vxworks中内置的检测函数检测应用程序所在的文件系统是否正常;检测vxworks系统的备份区内是否有备份的应用程序;(将应用程序的校验码与vxworks系统备份区内应用程序的校验码进行对比;检查备份区内应用程序是否完整;检查备份区内应用程序是否完整;A分钟后,步骤(2)中的检测任务检测守护任务是否启动,如果守护任务启动,则判定应用程序启动成功;如果守护任务未启动,则判定加载应用程序失败。该启动方法能够对程序及通信参数进行恢复后重新启动,而不需要对程序进行重新安装以及通信参数的重新输入。
【专利说明】基于vxworks的应用程序启动方法
【技术领域】
[0001]本发明涉及嵌入式系统【技术领域】,具体讲是一种基于vxworks系统的应用程序启动方法。
【背景技术】
[0002]Vxworks操作系统是美国Windriver公司于1983年设计开发的一种嵌入式操作系统,是嵌入式开发环境的关键组成部分。良好的持续发展能力、高性能的内核以及友好的用户开发环境,在嵌入式实时操作系统领域占据一席之地。它以其良好的可靠性和卓越的实时性被广泛地应用在通信、军事、航空、航天等高精尖及实时性要求极高的领域中,如卫星通讯、军事演习等。
[0003]目前,在vxworks系统启动后,需要加载应用程序,如果应用程序加载不成功,则需要将应用进行重新的安装及调试;如果应用程序加载成功,则直接运行即可。但该种方法存在以下缺陷:当系统电源不稳或者掉电时,易造成文件系统的损坏,甚至丢失一些重要的通信参数。这样不仅造成终端不上线,而且会影响系统的正常运行,使得vxworks系统出现死机、白屏等现象。而工作人员在处理时,需要先将旧程序删除,然后对程序进行重新安装以及通信参数的重新输入,不仅操作起来非常地麻烦,而且又比较费时费力。基于上述原因,需要一种基于vxworks系统的应用程序启动方法,该备份方法能够对程序及通信参数进行恢复后再行启动,而不需要对程序进行重新安装以及通信参数的重新输入。

【发明内容】

[0004]本发明要解决的技术问题是,克服以上现有技术的缺陷,提供一种基于vxworks系统的应用程序启动方法,该启动方法能够对程序及通信参数进行恢复后重新启动,而不需要对程序进行重新安装以及通信参数的重新输入。
[0005]本发明的技术方案是,提供一种基于vxworks系统的应用程序启动方法,包括以下步骤:
[0006](I)、运行 vxworks 系统;
[0007](2)、启动系统自检程序的第一步,创建一个用于检测应用程序中守护任务是否成功启动的检测任务;检测任务启动的同时开始计时;
[0008](3)、启动系统自检程序的第二步,调用vxworks中内置的检测函数检测应用程序所在的文件系统是否正常;如果文件系统正常,则执行步骤(5);否则,格式化应用程序所在的文件系统,执行步骤(4);
[0009](4)、检测vxworks系统的备份区内是否有备份的应用程序,如果没有,则判断文件系统丢失,并提示用户重新安装应用程序;如果有,则将备份区内的备份文件系统恢复,然后重新启动vxworks系统,执行步骤(I);
[0010](5)、将应用程序的校验码与vxworks系统备份区内应用程序的校验码进行对比;如果校验码一致,则执行步骤(7);如果校验码不一致,执行步骤(6);[0011](6)、检查备份区内应用程序是否完整;如果备份区内应用程序完整,则格式化文件系统内的应用程序,加载备份区内的应用程序,然后重新启动vxworks系统,执行步骤
(I);如果备份区内应用程序所在的文件系统不完整,则将需要备份标志位置位,直接加载应用程序,执行步骤(8);
[0012](7)、检查备份区内应用程序是否完整;如果备份区内应用程序完整,则加载应用程序,执行步骤(8);如果备份区内应用程序不完整,则将需要备份标志位置位,直接加载应用程序,执行步骤(8);
[0013](8)、A分钟后,步骤(2)中的检测任务检测守护任务是否启动,如果守护任务启动,则判定应用程序启动成功,并判断备份标志位是否置位,如果备份标志位置位,则进行备份;否则则不进行备份;如果守护任务未启动,则判定加载应用程序失败,格式化应用程序所在的文件系统,并重启vxworks系统,进入步骤(I)。
[0014]所述的A分钟为5分钟。
[0015]采用以上结构后,本发明与现有技术相比,具有以下优点:
[0016]本发明基于vxworks系统的应用程序启动方法,在应用启动成功后即开始备份,然后在该应用程序的文件系统被破坏之后,利用该备份恢复文件系统后重新运行该应用程序,同时守护任务的存在也不会造成系统的死机、白屏等。而只有备份区内的文件丢失时,才需要对程序进行重新安装以及通信参数的重新输入。由于有了备份,因此无需工作人员的处理,通过系统自身即可完成恢复,从而不仅减少了操作上的麻烦,而且省时省力。
【具体实施方式】
[0017]下面结合附图和具体实施例对本发明作进一步说明。
[0018]本发明一种基于vxworks系统的应用程序启动方法,包括以下步骤:
[0019](I)、运行vxworks系统,即启动vxworks系统且启动成功;
[0020](2)、启动系统自检程序的第一步,创建一个用于检测应用程序中守护任务是否成功启动的检测任务;检测任务启动的同时开始计时;守护任务为应用程序中创建的任务,如存在说明加载应用成功,否则则说明加载应用失败。
[0021](3)、启动系统自检程序的第二步,调用vxworks中内置的检测函数检测应用程序所在的文件系统是否正常,即vxworks系统中内置的chkdsk检测函数;如果文件系统正常,则执行步骤(5);否则,格式化应用程序所在的文件系统,执行步骤(4);
[0022](4)、检测vxworks系统的备份区内是否有备份的应用程序,如果没有,则判断文件系统丢失,并提示用户重新安装应用程序;如果有,则将备份区内的备份文件系统恢复,然后重新启动vxworks系统,执行步骤(I);在本实施例中,是通过检测备份区内备份完整标志位的值,如果值为9999,则则判断文件系统丢失,并提示用户重新安装应用程序;如果值为5A5A,则将备份区内的备份文件系统恢复,然后重新启动vxworks系统,执行步骤(I);
[0023](5)、将应用程序的校验码与vxworks系统备份区内应用程序的校验码(即是我们常见的CRC码)进行对比;如果校验码一致,则执行步骤(7);如果校验码不一致,执行步骤
(6);
[0024](6)、检查备份区内应用程序是否完整;如果备份区内应用程序完整,则格式化文件系统内的应用程序,加载备份区内的应用程序,然后重新启动vxworks系统,执行步骤(I);如果备份区内应用程序所在的文件系统不完整,则将需要备份标志位置位,直接加载应用程序,执行步骤(8);在本实施例中,是通过检测备份区内备份完整标志位的值,如果值为5A5A,则格式化文件系统内的应用程序,加载备份区内的应用程序,然后重新启动vxworks系统,执行步骤(I);如果值为9999,则将需要备份标志位置I (不需要备份的备份标志位为0),直接加载应用程序,执行步骤(8);
[0025](7)、检查备份区内应用程序是否完整;如果备份区内应用程序完整,则加载应用程序,执行步骤(8);如果备份区内应用程序不完整,则将需要备份标志位置位,直接加载应用程序,执行步骤(8);在本实施例中,是通过检测备份区内备份完整标志位的值,如果值为5A5A,则加载应用程序,执行步骤(8);如果值为9999,则将需要备份标志位置1,直接加载应用程序,执行步骤(8);
[0026](8)、A分钟后,步骤(2)中的检测任务检测守护任务是否启动,如果守护任务启动,则判定应用程序启动成功,并判断备份标志位是否置位,如果备份标志位置位,则进行备份;否则则不进行备份;如果守护任务未启动,则判定加载应用程序失败,格式化应用程序所在的文件系统,并重启vxworks系统,进入步骤(I)。在本实施例中,是通过判断备份标志位是否为1,如果备份标志位为1,则进行备份;否则,如果备份标志位为0,则不进行备份。
[0027]所述的A分钟为5分钟。
[0028]以上仅就本发明的最佳实施例作了说明,但不能理解为是对权利要求的限制。本发明不仅限于以上实施例,其具体结构允许有变化。凡在本发明独立权利要求的保护范围内所作的各种变化均在本发明的保护范围内。
【权利要求】
1.一种基于vxworks系统的应用程序启动方法,其特征在于:执行以下步骤: (1)、运行vxworks系统; (2)、启动系统自检程序的第一步,创建一个用于检测应用程序中守护任务是否成功启动的检测任务;检测任务启动的同时开始计时; (3)、启动系统自检程序的第二步,调用vxworks中内置的检测函数检测应用程序所在的文件系统是否正常;如果文件系统正常,则执行步骤(5);否则,格式化应用程序所在的文件系统,执行步骤(4); (4)、检测vxworks系统的备份区内是否有备份的应用程序,如果没有,则判断文件系统丢失,并提示用户重新安装应用程序;如果有,则将备份区内的备份文件系统恢复,然后重新启动vxworks系统,执行步骤(I); (5)、将应用程序的校验码与vxworks系统备份区内应用程序的校验码进行对比;如果校验码一致,则执行步骤(7);如果校验码不一致,执行步骤(6); (6)、检查备份区内应用程序是否完整;如果备份区内应用程序完整,则格式化文件系统内的应用程序,加载备份区内的应用程序,然后重新启动vxworks系统,执行步骤(I);如果备份区内应用程序所在的文件系统不完整,则将需要备份标志位置位,直接加载应用程序,执行步骤(8); (7)、检查备份区内应用程序是否完整;如果备份区内应用程序完整,则加载应用程序,执行步骤(8);如果备份区内应用程序不完整,则将需要备份标志位置位,直接加载应用程序,执行步骤(8); (8)、A分钟后,步骤(2)中的检测任务检测守护任务是否启动,如果守护任务启动,则判定应用程序启动成功,并判断备份标志位是否置位,如果备份标志位置位,则进行备份;否则则不进行备份;如果守护任务未启动,则判定加载应用程序失败,格式化应用程序所在的文件系统,并重启vxworks系统,进入步骤(I)。
2.根据权利要求1所述的基于vxworks系统的应用程序启动方法,其特征在于:所述的A分钟为5分钟。
【文档编号】G06F9/445GK103488496SQ201310368224
【公开日】2014年1月1日 申请日期:2013年8月22日 优先权日:2013年8月22日
【发明者】郑坚江, 郭飞, 姚正文 申请人:宁波三星电气股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1