看门狗喂狗方法

文档序号:9865346阅读:4633来源:国知局
看门狗喂狗方法
【技术领域】
[0001]本发明涉及电子通信技术领域,具体讲是一种基于Vxworks系统的看门狗喂狗方法。
【背景技术】
[0002]在Vxworks系统平台下,其分为BOOT启动、内核初始化、应用加载、启动、运行几个过程,整个过程的正常启动和运行保证了系统运行的可靠性、稳定性和健壮性。
[0003]在Vxworks系统的BOOT启动、内核初始化、应用加载、启动和运行的几个过程中,每个过程均会采用一看门狗程序实现复位功能,这样使得其在每一个步骤中若是出现异常,则会通过重启而进行程序恢复。如果在BOOT启动、内核初始化过程中需要重启还不会影响系统正常运行。但是,若是在应用加载、启动和运行这三个过程中出现程序异常而需要重启时,则有可能造成应用加载、启动和运行过程中的一些重要数据由于没有及时存储而丢失,从而造成系统的异常。因此,基于上述原因,亟待需要一种看门狗喂狗方法,该看门狗喂狗方法在系统重启前能够保证所有运行过程中的重要数据被存储,以解决上述问题。

【发明内容】

[0004]本发明要解决的技术问题是,提供一种看门狗喂狗方法,该看门狗喂狗方法在系统重启前能够保证所有运行过程中的重要数据被存储。
[0005]本发明的技术方案是,提供一种看门狗喂狗方法,包括以下步骤:系统配置一个硬件看门狗;硬件看门狗自身的定时时间为tO;系统配置三个任务:Taskl喂硬件狗;Task2监控应用的加载、启动及系统的运行,并向Taskl发消息;Task3监控应用的运行并向Task2发送消息;
[0006]Taskl喂硬件狗的时间间隔为t0,tO内无喂狗操作,硬件狗发送复位信号,M⑶复位;Task2每隔时间11给Taskl发送消息,Taskl在Tl未收到Task2的消息,则停止喂硬件狗,其中Tl=m*tl,m为常数;Task3每隔时间t2给Task2发送消息,Task2在T2内未收到Task3的消息,则停止向Taskl发送消息,其中,T2 = k*t2,k为常数;系统设置应用加载最长时间为TL,应用启动最长时间为TS;
[0007]在vxWorks系统中,内核初始化多任务环境完成后,才能创建任务,所以在BOOT运行时,无法通过任务实现喂狗,BOOT运行过程中,时间tO内喂狗一次即可;流程如下:
[0008](I)、BOOT启动,加载内核且同时启动硬件看门狗;
[0009](2)、B00T加载内核过程中,如果时间tO内,硬件看门狗未收到喂狗信号,则复位微处理器并返回步骤(I);
[0010](4)、否则,BOOT继续运行,内核加载成功,则执行步骤(5);
[0011](5)、内核初始化;
[0012](6)、内核初始化过程中,如果时间tO内,硬件看门狗未收到喂狗信号,则复位微处理器并返回步骤(I);
[0013](7)、否则,内核继续初始化,当系统多任务环境建立时,创建任务Taskl,此后Taskl每隔时间tO喂一次硬件狗;
[0014](8)、如果硬件看门狗时间tO内未收到任务Taskl的喂狗信号,则系统保存重要数据,然后系统复位并返回步骤(I);
[0015](9)、否则,判断内核初始化状态,若内核初始化不成功,返回步骤(I);
[0016](11)、若内核初始化成功,创建任务Task2,开始加载应用;
[0017](11)、时间TL、T1计时开始;
[0018](12)、时间TL计时时间到,如果任务Task2检测到应用加载未成功,则停止给Taskl发送信号,Taskl在Tl时间到未检测到Task2的信号,停止喂硬件狗,系统复位并返回步骤(I);
[0019](13)、否则,则应用启动且任务Task2每隔时间tl给任务Taskl发送一次喂狗信号;
[0020](14)、时间15、11计时开始;
[0021](15)、时间TS计时时间到,如果任务Task2检测到应用启动未成功,则停止给Taskl发送信号,Taskl在Tl时间到未检测到Task2的信号,停止喂硬件狗,系统复位并返回步骤(I);
[0022](16)、否则,应用运行且建立任务了&81^3,了&81^3每隔丨2给了&81^发一次信号;
[0023](17)、时间Tl、T2、t2计时开始;
[0024](18)、t2时间到,如果任务Task3检测到应用运行出现异常,则停止给Task2发送信号
[0025](19),否则应用正常,t2计时重新开始;
[0026](20)、T2时间到,Task2未收到Task3的信号,则保存重要数据,并停止向Taskl发送信号;
[0027](21),否则,应用运行正常,时间T2计时重新开始;
[0028](22)、T1时间到,Taskl未收到Task2的信号,停止喂硬件狗,系统复位并返回步骤(I);
[0029](23),否则,系统运行正常,时间Tl计时开始。
[0030]采用以上方法后,本发明与现有技术相比,具有以下优点:
[0031]本发明看门狗喂狗方法如果Task3发现应用异常或者发现应用其他任务出现异常则停止向Task2发信号,然后先保存重要数据,再系统复位。整个过程中,只有Taskl实现喂硬狗功能,应用程序正常Task3向Task2发送喂狗信号,Task2向Taskl发送喂狗信号,方法对系统启动、运行的各个环节实现监控,保证系统的启动和运行正常,即使出现异常,在复位前,能实现重要数据的保存,然后再进行重启,从而保证系统的正常运行。
【附图说明】
[0032]图1是本发明看门狗喂狗方法的喂狗示意图。
【具体实施方式】
[0033]下面结合附图和具体实施例对本发明作进一步说明。
[0034]如图1所示,本发明一种看门狗喂狗方法,包括以下步骤:系统配置一个硬件看门狗;硬件看门狗自身的定时时间为to;系统配置三个任务:Taskl喂硬件狗;Task2监控应用的加载、启动及系统的运行,并向Taskl发消息;Task3监控应用的运行并向Task2发送消息;
[0035]Taskl喂硬件狗的时间间隔为t0,tO内无喂狗操作,硬件狗发送复位信号,M⑶复位;Task2每隔时间11给Taskl发送消息,Taskl在Tl未收到Task2的消息,则停止喂硬件狗,其中Tl=m*tl,m为常数;Task3每隔时间t2给Task2发送消息,Task2在T2内未收到Task3的消息,则停止向Taskl发送消息,其中,T2 = k*t2,k为常数;系统设置应用加载最长时间为TL,应用启动最长时间为TS;
[0036]在vxWorks系统中,内核初始化多任务环境完成后,才能创建任务,所以在BOOT运行时,无法通过任务实现喂狗,BOOT运行过程中,时间tO内喂狗一次即可;流程如下:
[0037](I)、Β00Τ启动,加载内核且同时启动硬件看门狗;
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1