看门狗喂狗方法_2

文档序号:9865346阅读:来源:国知局
[0038](2)、B00T加载内核过程中,如果时间tO内,硬件看门狗未收到喂狗信号,则复位微处理器并返回步骤(I);
[0039](4)、否则,BOOT继续运行,内核加载成功,则执行步骤(5);
[0040](5)、内核初始化;
[0041](6)、内核初始化过程中,如果时间tO内,硬件看门狗未收到喂狗信号,则复位微处理器并返回步骤(I);
[0042](7)、否则,内核继续初始化,当系统多任务环境建立时,创建任务Taskl,此后Taskl每隔时间tO喂一次硬件狗;
[0043](8)、如果硬件看门狗时间tO内未收到任务Taskl的喂狗信号,则系统保存重要数据,然后系统复位并返回步骤(I);
[0044](9)、否则,判断内核初始化状态,若内核初始化不成功,返回步骤(I);
[0045](11)、若内核初始化成功,创建任务Task2,开始加载应用;
[0046](11)、时间TL、T1计时开始;
[0047](12)、时间TL计时时间到,如果任务Task2检测到应用加载未成功,则停止给Taskl发送信号,Taskl在Tl时间到未检测到Task2的信号,停止喂硬件狗,系统复位并返回步骤(I);
[0048](13)、否则,则应用启动且任务Task2每隔时间tl给任务Taskl发送一次喂狗信号;
[0049](14)、时间15、11计时开始;
[0050](15)、时间TS计时时间到,如果任务Task2检测到应用启动未成功,则停止给Taskl发送信号,Taskl在Tl时间到未检测到Task2的信号,停止喂硬件狗,系统复位并返回步骤(I);
[0051 ] (16)、否则,应用运行且建立任务Task3,Task3每隔t2给Task2发一次信号;
[0052](17)、时间Tl、T2、t2计时开始;
[0053](18)、t2时间到,如果任务Task3检测到应用运行出现异常,则停止给Task2发送信号
[0054](19)、否则应用正常,t2计时重新开始;
[0055](20)、T2时间到,Task2未收到Task3的信号,则保存重要数据,并停止向Taskl发送信号;
[0056](21),否则,应用运行正常,时间T2计时重新开始;
[0057](22)、T1时间到,Taskl未收到Task2的信号,停止喂硬件狗,系统复位并返回步骤
(I);
[0058](23),否则,系统运行正常,时间Tl计时开始。
[0059]以上仅就本发明的最佳实施例作了说明,但不能理解为是对权利要求的限制。本发明不仅限于以上实施例,其具体结构允许有变化。但凡在本发明独立权利要求的保护范围内所作的各种变化均在本发明的保护范围内。
【主权项】
1.一种看门狗喂狗方法,其特征在于:包括以下步骤:系统配置一个硬件看门狗;硬件看门狗自身的定时时间为to;系统配置三个任务:Taskl喂硬件狗;Task2监控应用的加载、启动及系统的运行,并向Taskl发消息;Task3监控应用的运行并向Task2发送消息; Taskl喂硬件狗的时间间隔为tO,tO内无喂狗操作,硬件狗发送复位信号,MCU复位;Task2每隔时间tl给Taskl发送消息,Taskl在Tl未收到Task2的消息,则停止喂硬件狗,其中Tl=m*tl,m为常数;Task3每隔时间t2给Task2发送消息,Task2在T2内未收到Task3的消息,则停止向Taskl发送消息,其中,T2 = k*t2,k为常数;系统设置应用加载最长时间为TL,应用启动最长时间为TS; 在vxWorks系统中,内核初始化多任务环境完成后,才能创建任务,所以在BOOT运行时,无法通过任务实现喂狗,BOOT运行过程中,时间tO内喂狗一次即可;流程如下: (1)、BOOT启动,加载内核且同时启动硬件看门狗; (2)、B00T加载内核过程中,如果时间tO内,硬件看门狗未收到喂狗信号,则复位微处理器并返回步骤(I); (4)、否则,BOOT继续运行,内核加载成功,则执行步骤(5); (5)、内核初始化; (6)、内核初始化过程中,如果时间tO内,硬件看门狗未收到喂狗信号,则复位微处理器并返回步骤(I); (7)、否则,内核继续初始化,当系统多任务环境建立时,创建任务Taskl,此后Taskl每隔时间tO喂一次硬件狗; (8)、如果硬件看门狗时间tO内未收到任务Taskl的喂狗信号,则系统保存重要数据,然后系统复位并返回步骤(I); (9)、否则,判断内核初始化状态,若内核初始化不成功,返回步骤(I); (11)、若内核初始化成功,创建任务Task2,开始加载应用; (11)、时间TL、T1计时开始; (12)、时间TL计时时间到,如果任务Task2检测到应用加载未成功,则停止给Taskl发送信号,Taskl在Tl时间到未检测到Task2的信号,停止喂硬件狗,系统复位并返回步骤(I); (13)、否则,则应用启动且任务Task2每隔时间tl给任务Taskl发送一次喂狗信号; (14)、时间TS、T1计时开始; (15)、时间TS计时时间到,如果任务Task2检测到应用启动未成功,则停止给Taskl发送信号,Taskl在Tl时间到未检测到Task2的信号,停止喂硬件狗,系统复位并返回步骤(I); (16)、否则,应用运行且建立任务Task3,Task3每隔t2给Task2发一次信号; (17)、时间Tl、T2、t2计时开始; (18)、t2时间到,如果任务Task3检测到应用运行出现异常,则停止给Task2发送信号 (19)、否则应用正常,t2计时重新开始; (20)、T2时间到,Task2未收到Task3的信号,则保存重要数据,并停止向Taskl发送信号; (21)、否则,应用运行正常,时间T2计时重新开始; (22)、T1时间到,Taskl未收到Task2的信号,停止喂硬件狗,系统复位并返回步骤(I); (23)、否则,系统运行正常,时间Tl计时开始。
【专利摘要】本发明公开了一种看门狗喂狗方法,系统配置一个硬件看门狗;硬件看门狗自身的定时时间为t0;系统配置三个任务:Task1喂硬件狗;Task2监控应用的加载、启动及系统的运行,并向Task1发消息;Task3监控应用的运行并向Task2发送消息;在vxWorks系统中,内核初始化多任务环境完成后,才能创建任务,所以在BOOT运行时,无法通过任务实现喂狗,BOOT运行过程中,时间t0内喂狗一次即可。该看门狗喂狗方法在系统重启前能够保证所有运行过程中的重要数据被存储。
【IPC分类】G06F11/07
【公开号】CN105630621
【申请号】CN201511017928
【发明人】郑坚江, 袁志民, 刘杰, 庄克成
【申请人】宁波三星医疗电气股份有限公司
【公开日】2016年6月1日
【申请日】2015年12月30日
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1