CN105630621B - 看门狗喂狗方法 - Google Patents

看门狗喂狗方法 Download PDF

Info

Publication number
CN105630621B
CN105630621B CN201511017928.1A CN201511017928A CN105630621B CN 105630621 B CN105630621 B CN 105630621B CN 201511017928 A CN201511017928 A CN 201511017928A CN 105630621 B CN105630621 B CN 105630621B
Authority
CN
China
Prior art keywords
task
time
dog
task2
task1
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201511017928.1A
Other languages
English (en)
Other versions
CN105630621A (zh
Inventor
郑坚江
袁志民
刘杰
庄克成
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ningbo Sanxing Medical and Electric Co Ltd
Original Assignee
Ningbo Sanxing Medical and Electric Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ningbo Sanxing Medical and Electric Co Ltd filed Critical Ningbo Sanxing Medical and Electric Co Ltd
Priority to CN201511017928.1A priority Critical patent/CN105630621B/zh
Publication of CN105630621A publication Critical patent/CN105630621A/zh
Application granted granted Critical
Publication of CN105630621B publication Critical patent/CN105630621B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/0757Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0715Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a system implementing multitasking

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Retry When Errors Occur (AREA)

Abstract

本发明公开了一种看门狗喂狗方法,系统配置一个硬件看门狗;硬件看门狗自身的定时时间为t0;系统配置三个任务:Task1喂硬件狗;Task2监控应用的加载、启动及系统的运行,并向Task1发消息;Task3监控应用的运行并向Task2发送消息;在vxWorks系统中,内核初始化多任务环境完成后,才能创建任务,所以在BOOT运行时,无法通过任务实现喂狗,BOOT运行过程中,时间t0内喂狗一次即可。该看门狗喂狗方法在系统重启前能够保证所有运行过程中的重要数据被存储。

Description

看门狗喂狗方法
技术领域
本发明涉及电子通信技术领域,具体讲是一种基于Vxworks系统的看门狗喂狗方法。
背景技术
在Vxworks系统平台下,其分为BOOT启动、内核初始化、应用加载、启动、运行几个过程,整个过程的正常启动和运行保证了系统运行的可靠性、稳定性和健壮性。
在Vxworks系统的BOOT启动、内核初始化、应用加载、启动和运行的几个过程中,每个过程均会采用一看门狗程序实现复位功能,这样使得其在每一个步骤中若是出现异常,则会通过重启而进行程序恢复。如果在BOOT启动、内核初始化过程中需要重启还不会影响系统正常运行。但是,若是在应用加载、启动和运行这三个过程中出现程序异常而需要重启时,则有可能造成应用加载、启动和运行过程中的一些重要数据由于没有及时存储而丢失,从而造成系统的异常。因此,基于上述原因,亟待需要一种看门狗喂狗方法,该看门狗喂狗方法在系统重启前能够保证所有运行过程中的重要数据被存储,以解决上述问题。
发明内容
本发明要解决的技术问题是,提供一种看门狗喂狗方法,该看门狗喂狗方法在系统重启前能够保证所有运行过程中的重要数据被存储。
本发明的技术方案是,提供一种看门狗喂狗方法,包括以下步骤:系统配置一个硬件看门狗;硬件看门狗自身的定时时间为t0;系统配置三个任务:Task1喂硬件狗;Task2监控应用的加载、启动及系统的运行,并向Task1发消息;Task3监控应用的运行并向Task2发送消息;
Task1喂硬件狗的时间间隔为t0,t0内无喂狗操作,硬件狗发送复位信号,MCU复位;Task2每隔时间t1给Task1发送消息,Task1在T1未收到Task2的消息,则停止喂硬件狗,其中T1=m*t1,m为常数;Task3每隔时间t2给Task2发送消息,Task2在T2内未收到Task3的消息,则停止向Task1发送消息,其中,T2=k*t2,k为常数;系统设置应用加载最长时间为TL,应用启动最长时间为TS;
在vxWorks系统中,内核初始化多任务环境完成后,才能创建任务,所以在BOOT运行时,无法通过任务实现喂狗,BOOT运行过程中,时间t0内喂狗一次即可;流程如下:
(1)、BOOT启动,加载内核且同时启动硬件看门狗;
(2)、BOOT加载内核过程中,如果时间t0内,硬件看门狗未收到喂狗信号,则复位微处理器并返回步骤(1);
(4)、否则,BOOT继续运行,内核加载成功,则执行步骤(5);
(5)、内核初始化;
(6)、内核初始化过程中,如果时间t0内,硬件看门狗未收到喂狗信号,则复位微处理器并返回步骤(1);
(7)、否则,内核继续初始化,当系统多任务环境建立时,创建任务Task1,此后Task1每隔时间t0喂一次硬件狗;
(8)、如果硬件看门狗时间t0内未收到任务Task1的喂狗信号,则系统保存重要数据,然后系统复位并返回步骤(1);
(9)、否则,判断内核初始化状态,若内核初始化不成功,返回步骤(1);
(10)、若内核初始化成功,创建任务Task2,开始加载应用;
(11)、时间TL、T1计时开始;
(12)、时间TL计时时间到,如果任务Task2检测到应用加载未成功,则停止给Task1发送信号,Task1在T1时间到未检测到Task2的信号,停止喂硬件狗,系统复位并返回步骤(1);
(13)、否则,则应用启动且任务Task2每隔时间t1给任务Task1发送一次喂狗信号;
(14)、时间TS、T1计时开始;
(15)、时间TS计时时间到,如果任务Task2检测到应用启动未成功,则停止给Task1发送信号,Task1在T1时间到未检测到Task2的信号,停止喂硬件狗,系统复位并返回步骤(1);
(16)、否则,应用运行且建立任务Task3,Task3每隔t2给Task2发一次信号;
(17)、时间T1、T2、t2计时开始;
(18)、如果任务Task3检测到应用运行出现异常,则当t2时间到时,停止给Task2发送信号;
(19)、否则当应用正常时,当t2时间到,Task3给Task2发送信号,t2计时重新开始;
(20)、T2时间到,Task2未收到Task3的信号,则保存重要数据,并停止向Task1发送信号;
(21)、否则,应用运行正常,时间T2计时重新开始;
(22)、T1时间到,Task1未收到Task2的信号,停止喂硬件狗,系统复位并返回步骤(1);
(23)、否则,系统运行正常,时间T1计时开始。
采用以上方法后,本发明与现有技术相比,具有以下优点:
本发明看门狗喂狗方法如果Task3发现应用异常或者发现应用其他任务出现异常则停止向Task2发信号,然后先保存重要数据,再系统复位。整个过程中,只有Task1实现喂硬狗功能,应用程序正常Task3向Task2发送喂狗信号,Task2向Task1发送喂狗信号,方法对系统启动、运行的各个环节实现监控,保证系统的启动和运行正常,即使出现异常,在复位前,能实现重要数据的保存,然后再进行重启,从而保证系统的正常运行。
附图说明
图1是本发明看门狗喂狗方法的喂狗示意图。
具体实施方式
下面结合附图和具体实施例对本发明作进一步说明。
如图1所示,本发明一种看门狗喂狗方法,包括以下步骤:系统配置一个硬件看门狗;硬件看门狗自身的定时时间为t0;系统配置三个任务:Task1喂硬件狗;Task2监控应用的加载、启动及系统的运行,并向Task1发消息;Task3监控应用的运行并向Task2发送消息;
Task1喂硬件狗的时间间隔为t0,t0内无喂狗操作,硬件狗发送复位信号,MCU复位;Task2每隔时间t1给Task1发送消息,Task1在T1未收到Task2的消息,则停止喂硬件狗,其中T1=m*t1,m为常数;Task3每隔时间t2给Task2发送消息,Task2在T2内未收到Task3的消息,则停止向Task1发送消息,其中,T2=k*t2,k为常数;系统设置应用加载最长时间为TL,应用启动最长时间为TS;
在vxWorks系统中,内核初始化多任务环境完成后,才能创建任务,所以在BOOT运行时,无法通过任务实现喂狗,BOOT运行过程中,时间t0内喂狗一次即可;流程如下:
(1)、BOOT启动,加载内核且同时启动硬件看门狗;
(2)、BOOT加载内核过程中,如果时间t0内,硬件看门狗未收到喂狗信号,则复位微处理器并返回步骤(1);
(4)、否则,BOOT继续运行,内核加载成功,则执行步骤(5);
(5)、内核初始化;
(6)、内核初始化过程中,如果时间t0内,硬件看门狗未收到喂狗信号,则复位微处理器并返回步骤(1);
(7)、否则,内核继续初始化,当系统多任务环境建立时,创建任务Task1,此后Task1每隔时间t0喂一次硬件狗;
(8)、如果硬件看门狗时间t0内未收到任务Task1的喂狗信号,则系统保存重要数据,然后系统复位并返回步骤(1);
(9)、否则,判断内核初始化状态,若内核初始化不成功,返回步骤(1);
(10)、若内核初始化成功,创建任务Task2,开始加载应用;
(11)、时间TL、T1计时开始;
(12)、时间TL计时时间到,如果任务Task2检测到应用加载未成功,则停止给Task1发送信号,Task1在T1时间到未检测到Task2的信号,停止喂硬件狗,系统复位并返回步骤(1);
(13)、否则,则应用启动且任务Task2每隔时间t1给任务Task1发送一次喂狗信号;
(14)、时间TS、T1计时开始;
(15)、时间TS计时时间到,如果任务Task2检测到应用启动未成功,则停止给Task1发送信号,Task1在T1时间到未检测到Task2的信号,停止喂硬件狗,系统复位并返回步骤(1);
(16)、否则,应用运行且建立任务Task3,Task3每隔t2给Task2发一次信号;
(17)、时间T1、T2、t2计时开始;
(18)、如果任务Task3检测到应用运行出现异常,则当t2时间到时,停止给Task2发送信号;
(19)、否则当应用正常时,当t2时间到,Task3给Task2发送信号,t2计时重新开始;
(20)、T2时间到,Task2未收到Task3的信号,则保存重要数据,并停止向Task1发送信号;
(21)、否则,应用运行正常,时间T2计时重新开始;
(22)、T1时间到,Task1未收到Task2的信号,停止喂硬件狗,系统复位并返回步骤(1);
(23)、否则,系统运行正常,时间T1计时开始。
以上仅就本发明的最佳实施例作了说明,但不能理解为是对权利要求的限制。本发明不仅限于以上实施例,其具体结构允许有变化。但凡在本发明独立权利要求的保护范围内所作的各种变化均在本发明的保护范围内。

Claims (1)

1.一种看门狗喂狗方法,其特征在于:包括以下步骤:系统配置一个硬件看门狗;硬件看门狗自身的定时时间为t0;系统配置三个任务:Task1喂硬件狗;Task2监控应用的加载、启动及系统的运行,并向Task1发消息;Task3监控应用的运行并向Task2发送消息;
Task1喂硬件狗的时间间隔为t0,t0内无喂狗操作,硬件狗发送复位信号,MCU复位;Task2每隔时间t1给Task1发送消息,Task1在T1未收到Task2的消息,则停止喂硬件狗,其中T1=m*t1,m为常数;Task3每隔时间t2给Task2发送消息,Task2在T2内未收到Task3的消息,则停止向Task1发送消息,其中,T2=k*t2,k为常数;系统设置应用加载最长时间为TL,应用启动最长时间为TS;
在vxWorks系统中,内核初始化多任务环境完成后,才能创建任务,所以在BOOT运行时,无法通过任务实现喂狗,BOOT运行过程中,时间t0内喂狗一次即可;流程如下:
(1)、BOOT启动,加载内核且同时启动硬件看门狗;
(2)、BOOT加载内核过程中,如果时间t0内,硬件看门狗未收到喂狗信号,则复位微处理器并返回步骤(1);
(4)、否则,BOOT继续运行,内核加载成功,则执行步骤(5);
(5)、内核初始化;
(6)、内核初始化过程中,如果时间t0内,硬件看门狗未收到喂狗信号,则复位微处理器并返回步骤(1);
(7)、否则,内核继续初始化,当系统多任务环境建立时,创建任务Task1,此后Task1每隔时间t0喂一次硬件狗;
(8)、如果硬件看门狗时间t0内未收到任务Task1的喂狗信号,则系统保存重要数据,然后系统复位并返回步骤(1);
(9)、否则,判断内核初始化状态,若内核初始化不成功,返回步骤(1);
(10)、若内核初始化成功,创建任务Task2,开始加载应用;
(11)、时间TL、T1计时开始;
(12)、时间TL计时时间到,如果任务Task2检测到应用加载未成功,则停止给Task1发送信号,Task1在T1时间到未检测到Task2的信号,停止喂硬件狗,系统复位并返回步骤(1);
(13)、否则,则应用启动且任务Task2每隔时间t1给任务Task1发送一次喂狗信号;
(14)、时间TS、T1计时开始;
(15)、时间TS计时时间到,如果任务Task2检测到应用启动未成功,则停止给Task1发送信号,Task1在T1时间到未检测到Task2的信号,停止喂硬件狗,系统复位并返回步骤(1);
(16)、否则,应用运行且建立任务Task3,Task3每隔t2给Task2发一次信号;
(17)、时间T1、T2、t2计时开始;
(18)、如果任务Task3检测到应用运行出现异常,则当t2时间到时,停止给Task2发送信号;
(19)、否则当应用正常时,当t2时间到,Task3给Task2发送信号,t2计时重新开始;
(20)、T2时间到,Task2未收到Task3的信号,则保存重要数据,并停止向Task1发送信号;
(21)、否则,应用运行正常,时间T2计时重新开始;
(22)、T1时间到,Task1未收到Task2的信号,停止喂硬件狗,系统复位并返回步骤(1);
(23)、否则,系统运行正常,时间T1计时开始。
CN201511017928.1A 2015-12-30 2015-12-30 看门狗喂狗方法 Active CN105630621B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201511017928.1A CN105630621B (zh) 2015-12-30 2015-12-30 看门狗喂狗方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201511017928.1A CN105630621B (zh) 2015-12-30 2015-12-30 看门狗喂狗方法

Publications (2)

Publication Number Publication Date
CN105630621A CN105630621A (zh) 2016-06-01
CN105630621B true CN105630621B (zh) 2018-06-22

Family

ID=56045598

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201511017928.1A Active CN105630621B (zh) 2015-12-30 2015-12-30 看门狗喂狗方法

Country Status (1)

Country Link
CN (1) CN105630621B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111836275A (zh) * 2019-04-18 2020-10-27 宁波市金榜汽车电子有限公司 一种采用mcu的wdt监控无线通信模块的方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101221518A (zh) * 2008-01-29 2008-07-16 福建星网锐捷网络有限公司 一种防止硬件看门狗的定时器溢出的方法、装置与系统
CN103885847A (zh) * 2014-02-08 2014-06-25 京信通信系统(中国)有限公司 一种基于嵌入式系统的喂狗方法及装置
CN104199746A (zh) * 2014-09-01 2014-12-10 中国东方电气集团有限公司 一种多任务软件看门狗的实现方法
CN104200629A (zh) * 2014-09-01 2014-12-10 中国东方电气集团有限公司 一种基于gprs监控终端的软件系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004086451A (ja) * 2002-08-26 2004-03-18 Matsushita Electric Ind Co Ltd 半導体集積回路

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101221518A (zh) * 2008-01-29 2008-07-16 福建星网锐捷网络有限公司 一种防止硬件看门狗的定时器溢出的方法、装置与系统
CN103885847A (zh) * 2014-02-08 2014-06-25 京信通信系统(中国)有限公司 一种基于嵌入式系统的喂狗方法及装置
CN104199746A (zh) * 2014-09-01 2014-12-10 中国东方电气集团有限公司 一种多任务软件看门狗的实现方法
CN104200629A (zh) * 2014-09-01 2014-12-10 中国东方电气集团有限公司 一种基于gprs监控终端的软件系统

Also Published As

Publication number Publication date
CN105630621A (zh) 2016-06-01

Similar Documents

Publication Publication Date Title
US11256539B2 (en) Task processing method, apparatus, and system based on distributed system
US10705880B2 (en) Cluster updating using temporary update-monitor pod
US20140123121A1 (en) Rack and method thereof for simultaneously updating basic input output systems
CN110096340B (zh) 定时任务处理方法及装置
JP2017157004A5 (zh)
CN108427609B (zh) 控制器和控制程序更新方法
US20150208124A1 (en) Smart television system and turn-on and turn-off method thereof
US9983791B2 (en) System management controller and method of configuration file backup and recovery
CN102439564A (zh) 在Linux容器中启动应用程序的方法和系统
CN105550057B (zh) 嵌入式软件系统故障检测恢复方法和系统
CN107315656A (zh) 多内核的嵌入式plc软件恢复方法和plc
CN104809013B (zh) 一种嵌入式系统启动方法和装置
US20160328227A1 (en) Dynamically Applying A Software Patch To A Computer Program
US20220055637A1 (en) Electronic control unit and computer readable medium
CN109361542A (zh) 客户端的故障处理方法、装置、系统、终端和服务器
EP3499373B1 (en) Method and apparatus for processing process
CN105630621B (zh) 看门狗喂狗方法
CN102637139A (zh) 嵌入式系统喂狗的方法、装置及单板
CN111796954A (zh) 基于jvm的看门狗的控制方法、装置、设备及存储介质
CN105468390B (zh) Boot在线升级装置及方法
CN104917696A (zh) 一种用于低速串行总线的周期和非周期混杂通信方法及系统
JP2013254379A (ja) 情報通信装置及びハングアップ時の動作ログ保存方法
CN105760276B (zh) 提高reboot命令重启可靠性并增加复位日志的方法
CN102073523A (zh) 实现软件版本同步的方法及装置
US9940149B2 (en) System and method for automatically launching virtual machines based on attendance

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant