CN104636212A - 一种嵌入式操作***看门狗实现方法 - Google Patents
一种嵌入式操作***看门狗实现方法 Download PDFInfo
- Publication number
- CN104636212A CN104636212A CN201410834982.4A CN201410834982A CN104636212A CN 104636212 A CN104636212 A CN 104636212A CN 201410834982 A CN201410834982 A CN 201410834982A CN 104636212 A CN104636212 A CN 104636212A
- Authority
- CN
- China
- Prior art keywords
- watchdog
- thread
- software
- dog
- hardware
- 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.)
- Pending
Links
Landscapes
- Debugging And Monitoring (AREA)
Abstract
一种嵌入式操作***看门狗实现方法,在***启动时,启动该软件看门狗线程并设定为最高优先级,其定时在活跃状态下,向硬件看门狗的喂狗端进行喂狗;并设定***的每条工作线程必须在规定时间内向软件看门狗线程喂狗以使其处于活跃状态,若其中任一工作线程超时且无喂狗,则判定***发生软件异常,软件看门狗线程处于非活跃状态并停止对硬件看门狗喂狗,硬件看门狗触发***进行复位。本发明采用软件看门狗线程配合硬件看门狗,可保证嵌入式***运行过程中,软件的可靠运行,及时发现***运行的问题,便于高效地排查解决软硬件中的各种问题。
Description
技术领域
本发明涉及嵌入式操作***领域,特别是一种嵌入式操作***看门狗实现方法。
背景技术
对于目前主流的嵌入式***,都会采用外接硬件看门狗电路来保证***的稳定运行。而在嵌入式软件中,对于多线程,一般有2种处理方式:一种是每个执行线程各自喂硬件看门狗;另一种是由一个线程喂看门狗,其他线程不与该线程交互。这两种处理方式都存在一定的风险,如:
1、在***运行过程中,当某个线程出现异常,这时候,由于存在其他线程喂硬件看门狗,因此无法检测线程异常,导致***异常运行。
2、由一个线程喂硬件看门狗,只有在该线程异常执行时,硬件看门狗才有可能进行复位,而如果是其他线程,则硬件看门狗同样无法检测到异常执行,从而出现***异常执行的问题。
发明内容
本发明的主要目的在于克服现有技术中的上述缺陷,提出一种采用简单的软件看门狗和硬件看门狗配合,防止由于软件的错误引起的各种问题,为嵌入式***的正常稳定运行提供可靠的看门狗实现方法。
本发明采用如下技术方案:
一种嵌入式操作***看门狗实现方法,其特征在于:在***启动时,启动该软件看门狗线程并设定为最高优先级,其定时在每一个活跃状态向硬件看门狗的喂狗端进行喂狗;并设定***的每条工作线程必须在规定时间内向软件看门狗线程喂狗以使其处于活跃状态,若其中任一工作线程超时且无喂狗,则判定***发生软件异常,软件看门狗线程处于非活跃状态并停止对硬件看门狗喂狗,硬件看门狗触发***进行复位。
优选的,所述***还设置有临时开启和关闭监控工作线程的接口,工作线程可通过调用该临时开启和关闭监控接口向所述软件看门狗线程申请开启或关闭监控,若申请关闭监控,则其无需在所述规定时间内向软件看门狗线程喂狗。
优选的,所述工作线程与所述硬件看门狗互相隔离。
优选的,当任一工作线程超时无喂狗,则判定***发生软件异常,打印异常信息后,软件看门狗线程停止向所述硬件看门狗喂狗,该异常信息包括异常工作线程、当前***运行状态。
由上述对本发明的描述可知,与现有技术相比,本发明具有如下有益效果:
1、本发明采用软件看门狗线程配合硬件看门狗,可保证嵌入式***运行过程中,软件的可靠运行,及时发现***运行的问题,便于高效地排查解决软硬件中的各种问题。
2、本发明的嵌入式***运行中,工作线程需要在规定时间内喂软件看门狗线程,若超时,则判断为线程异常,能有效防止由于软件的错误引起的各种问题。
3、对于某些需要长时间操作外设或者文件***而无法及时喂软件看门狗的较为繁忙的工作线程可向软件看门狗线程申请关闭监控,以达到***安全稳定的目的。
附图说明
图1为本发明方法原理示意图。
具体实施方式
以下通过具体实施方式对本发明作进一步的描述。
参照图1,一种嵌入式操作***看门狗实现方法,设置有软件看门狗线程和硬件看门狗。在***启动时,启动该软件看门狗线程并设定为最高优先级,其定时在活跃状态时,向硬件看门狗的喂狗端进行喂狗。***的工作线程与硬件看门狗互相隔离,不与硬件看门狗进行交互。并设定***的每条工作线程必须在规定时间内向软件看门狗线程喂狗以使其处于活跃状态,即软件看门狗线程监控所有工作线程是否正常运行。若其中任一工作线程超时且无喂狗,则该工作线程发生异常,判定***发生软件异常,打印异常信息后,软件看门狗线程处于非活跃状态并停止对硬件看门狗喂狗,硬件看门狗触发***进行复位,防止由于***错误运行而导致的其他各种问题。异常信息包括:异常线程,当前***运行状态等,方便软件开发者判断异常线程所在。
进一步的,由于有些工作线程在***运行过程中,需要长时间处理事务二无法对软件看门狗喂狗,为避免这种问题,本发明***还设置有临时开启和关闭监控接口,某些较为繁忙的工作线程(例如:需要长时间操作外设或者文件***的工作线程)可通过调用该临时开启和关闭监控接口向软件看门狗线程申请开启或关闭监控。若申请关闭监控,则其无需在后续的规定时间内向软件看门狗线程喂狗,即软件看门狗在一段时间内不对其进行监控,待事务处理完毕后,再开启监控,达到***安全稳定的目的。
上述仅为本发明的具体实施方式,但本发明的设计构思并不局限于此,凡利用此构思对本发明进行非实质性的改动,均应属于侵犯本发明保护范围的行为。
Claims (4)
1.一种嵌入式操作***看门狗实现方法,其特征在于:在***启动时,启动该软件看门狗线程并设定为最高优先级,其定时在活跃状态下,向硬件看门狗的喂狗端进行喂狗;并设定***的每条工作线程必须在规定时间内向软件看门狗线程喂狗以使其处于活跃状态,若其中任一工作线程超时且无喂狗,则判定***发生软件异常,软件看门狗线程处于非活跃状态并停止对硬件看门狗喂狗,硬件看门狗触发***进行复位。
2.如权利要求1所述的一种嵌入式操作***看门狗实现方法,其特征在于:所述***还设置有临时开启和关闭监控工作线程的接口,工作线程可通过调用该该临时开启和关闭监控接口向所述软件看门狗线程申请开启或关闭监控,若申请关闭监控,则其无需在所述规定时间内向软件看门狗线程喂狗。
3.如权利要求1所述的一种嵌入式操作***看门狗实现方法,其特征在于:所述工作线程与所述硬件看门狗互相隔离。
4.如权利要求1所述的一种嵌入式操作***看门狗实现方法,其特征在于:当任一工作线程超时无喂狗,则判定***发生软件异常,打印异常信息后,软件看门狗线程停止向所述硬件看门狗喂狗,该异常信息包括异常工作线程和当前***运行状态。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410834982.4A CN104636212A (zh) | 2014-12-29 | 2014-12-29 | 一种嵌入式操作***看门狗实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410834982.4A CN104636212A (zh) | 2014-12-29 | 2014-12-29 | 一种嵌入式操作***看门狗实现方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104636212A true CN104636212A (zh) | 2015-05-20 |
Family
ID=53215000
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410834982.4A Pending CN104636212A (zh) | 2014-12-29 | 2014-12-29 | 一种嵌入式操作***看门狗实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104636212A (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104899110A (zh) * | 2015-06-05 | 2015-09-09 | 宁波三星智能电气有限公司 | 看门狗的设置及喂狗方法 |
CN105450466A (zh) * | 2015-11-10 | 2016-03-30 | 浪潮(北京)电子信息产业有限公司 | 一种icmp请求报文保活控制方法及*** |
CN106445712A (zh) * | 2016-08-31 | 2017-02-22 | 上海澳润信息科技有限公司 | 一种基于消息监控的软件看门狗实现方法 |
CN107423151A (zh) * | 2017-03-28 | 2017-12-01 | 上海斐讯数据通信技术有限公司 | 一种无线接入点***恢复的方法和装置 |
CN108563530A (zh) * | 2018-04-16 | 2018-09-21 | 杭州鸿泉物联网技术股份有限公司 | 看门狗及其实现方法 |
DE102018210733A1 (de) | 2018-06-29 | 2020-01-02 | Robert Bosch Gmbh | Verfahren zum Überwachen wenigstens einer Recheneinheit |
CN112506689A (zh) * | 2020-12-10 | 2021-03-16 | 盛立金融软件开发(杭州)有限公司 | 一种异构柜台***风险监控方法、装置、设备及介质 |
CN114780280A (zh) * | 2022-05-13 | 2022-07-22 | 河南省人民医院 | 一种ecmo故障快速恢复方法及*** |
CN114865114A (zh) * | 2022-04-20 | 2022-08-05 | 广东汇天航空航天科技有限公司 | 一种电池管理***及其控制方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050177776A1 (en) * | 2004-01-27 | 2005-08-11 | Jin-Oh Kim | Apparatus and method for monitoring software module state in a system using an embedded multitasking OS |
CN101271414A (zh) * | 2008-05-06 | 2008-09-24 | 江苏东大金智建筑智能化***工程有限公司 | 嵌入式***的全程喂狗方法 |
CN101295271A (zh) * | 2007-04-29 | 2008-10-29 | 迈普(四川)通信技术有限公司 | 软件看门狗自我恢复方法 |
CN101794244A (zh) * | 2010-03-18 | 2010-08-04 | 上海乐毅信息科技有限公司 | 多线程看门狗监控方法 |
CN101901168A (zh) * | 2010-06-29 | 2010-12-01 | 深圳市景阳科技股份有限公司 | 一种看门狗复位***及其复位方法 |
CN102736958A (zh) * | 2012-05-30 | 2012-10-17 | 深圳市共进电子股份有限公司 | 一种对多个进程***进行监控的看门狗实现方法及*** |
CN103853625A (zh) * | 2012-12-06 | 2014-06-11 | 苏州工业园区新宏博通讯科技有限公司 | 多任务看门狗的实现装置和方法 |
CN104199746A (zh) * | 2014-09-01 | 2014-12-10 | 中国东方电气集团有限公司 | 一种多任务软件看门狗的实现方法 |
-
2014
- 2014-12-29 CN CN201410834982.4A patent/CN104636212A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050177776A1 (en) * | 2004-01-27 | 2005-08-11 | Jin-Oh Kim | Apparatus and method for monitoring software module state in a system using an embedded multitasking OS |
CN101295271A (zh) * | 2007-04-29 | 2008-10-29 | 迈普(四川)通信技术有限公司 | 软件看门狗自我恢复方法 |
CN101271414A (zh) * | 2008-05-06 | 2008-09-24 | 江苏东大金智建筑智能化***工程有限公司 | 嵌入式***的全程喂狗方法 |
CN101794244A (zh) * | 2010-03-18 | 2010-08-04 | 上海乐毅信息科技有限公司 | 多线程看门狗监控方法 |
CN101901168A (zh) * | 2010-06-29 | 2010-12-01 | 深圳市景阳科技股份有限公司 | 一种看门狗复位***及其复位方法 |
CN102736958A (zh) * | 2012-05-30 | 2012-10-17 | 深圳市共进电子股份有限公司 | 一种对多个进程***进行监控的看门狗实现方法及*** |
CN103853625A (zh) * | 2012-12-06 | 2014-06-11 | 苏州工业园区新宏博通讯科技有限公司 | 多任务看门狗的实现装置和方法 |
CN104199746A (zh) * | 2014-09-01 | 2014-12-10 | 中国东方电气集团有限公司 | 一种多任务软件看门狗的实现方法 |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104899110A (zh) * | 2015-06-05 | 2015-09-09 | 宁波三星智能电气有限公司 | 看门狗的设置及喂狗方法 |
CN105450466A (zh) * | 2015-11-10 | 2016-03-30 | 浪潮(北京)电子信息产业有限公司 | 一种icmp请求报文保活控制方法及*** |
CN105450466B (zh) * | 2015-11-10 | 2018-11-02 | 浪潮(北京)电子信息产业有限公司 | 一种icmp请求报文保活控制方法及*** |
CN106445712A (zh) * | 2016-08-31 | 2017-02-22 | 上海澳润信息科技有限公司 | 一种基于消息监控的软件看门狗实现方法 |
CN107423151A (zh) * | 2017-03-28 | 2017-12-01 | 上海斐讯数据通信技术有限公司 | 一种无线接入点***恢复的方法和装置 |
CN108563530A (zh) * | 2018-04-16 | 2018-09-21 | 杭州鸿泉物联网技术股份有限公司 | 看门狗及其实现方法 |
DE102018210733A1 (de) | 2018-06-29 | 2020-01-02 | Robert Bosch Gmbh | Verfahren zum Überwachen wenigstens einer Recheneinheit |
CN112506689A (zh) * | 2020-12-10 | 2021-03-16 | 盛立金融软件开发(杭州)有限公司 | 一种异构柜台***风险监控方法、装置、设备及介质 |
CN112506689B (zh) * | 2020-12-10 | 2023-08-11 | 盛立安元科技(杭州)股份有限公司 | 一种异构柜台***风险监控方法、装置、设备及介质 |
CN114865114A (zh) * | 2022-04-20 | 2022-08-05 | 广东汇天航空航天科技有限公司 | 一种电池管理***及其控制方法 |
CN114780280A (zh) * | 2022-05-13 | 2022-07-22 | 河南省人民医院 | 一种ecmo故障快速恢复方法及*** |
CN114780280B (zh) * | 2022-05-13 | 2023-05-12 | 河南省人民医院 | 一种ecmo故障快速恢复方法及*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104636212A (zh) | 一种嵌入式操作***看门狗实现方法 | |
EP3142011B1 (en) | Anomaly recovery method for virtual machine in distributed environment | |
CN104657228B (zh) | 一种移动终端的***异常处理方法及装置 | |
CN107147540A (zh) | 高可用性***中的故障处理方法和故障处理集群 | |
US8549277B2 (en) | Server system including diplexer | |
EP3148116A1 (en) | Information system fault scenario information collection method and system | |
US9928143B2 (en) | System and method for managing single event latched (SEL) conditions | |
CN101452420A (zh) | 一种嵌入式软件异常监控和处理装置及其方法 | |
CN105550057B (zh) | 嵌入式软件***故障检测恢复方法和*** | |
AU2014293070A1 (en) | Robust hardware/software error recovery system | |
US20220055637A1 (en) | Electronic control unit and computer readable medium | |
CN103580941B (zh) | 网络看门狗及其实现方法 | |
CN110865900A (zh) | 增强嵌入式***健壮性的一种方法 | |
CN104216795A (zh) | 一种多进程保护***及其实现方法 | |
CN105279037A (zh) | 看门狗监控方法和*** | |
WO2008114525A1 (ja) | 情報処理装置 | |
CN103577284B (zh) | 非透明桥芯片的异常检测与恢复方法 | |
US10606703B2 (en) | Monitoring circuit | |
CN105426263A (zh) | 一种实现金库***安全运行的方法及*** | |
US20130198575A1 (en) | System error response | |
CN103927241A (zh) | 一种软硬件结合的内存避错方法及其装置 | |
WO2015188619A1 (zh) | 物理主机故障检测方法、装置及虚机管理方法、*** | |
CN106407081B (zh) | 一种机箱管理***及服务器 | |
CN110450189B (zh) | 用于机器人的异常处理方法及装置 | |
CN104268026B (zh) | 嵌入式***的监控管理方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20150520 |
|
RJ01 | Rejection of invention patent application after publication |