CN109491824A - 一种嵌入式操作系统的看门狗控制方法 - Google Patents

一种嵌入式操作系统的看门狗控制方法 Download PDF

Info

Publication number
CN109491824A
CN109491824A CN201811346454.9A CN201811346454A CN109491824A CN 109491824 A CN109491824 A CN 109491824A CN 201811346454 A CN201811346454 A CN 201811346454A CN 109491824 A CN109491824 A CN 109491824A
Authority
CN
China
Prior art keywords
embedded
monitoring unit
watchdog
tick clock
hardware watchdog
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
Application number
CN201811346454.9A
Other languages
English (en)
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.)
Fujian Beifeng Communications Polytron Technologies Inc
Original Assignee
Fujian Beifeng Communications Polytron Technologies Inc
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 Fujian Beifeng Communications Polytron Technologies Inc filed Critical Fujian Beifeng Communications Polytron Technologies Inc
Priority to CN201811346454.9A priority Critical patent/CN109491824A/zh
Publication of CN109491824A publication Critical patent/CN109491824A/zh
Pending legal-status Critical Current

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
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/14Time supervision arrangements, e.g. real time clock
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/24Resetting means

Landscapes

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

Abstract

本发明涉及计算机技术领域,公开了一种嵌入式操作系统的看门狗控制方法,包括嵌入系统TICK时钟计数监测单元、多线程任务监测单元以及硬件看门狗喂狗单元,三个单元封装为一个模块函数嵌入到IDLE线程任务循环调用;系统TICK时钟计数监测单元,通过检测TICK时钟计数值是否改变来监测系统TICK时钟任务调度是否正常;多任务监测单元,通过利用IDLE线程的最低优先级特性来监测高优先级的任务是否出现异常死循环;硬件看门狗喂狗单元,只在上述两个监测单元正常情况下才进行硬件看门狗喂狗动作,任一监测单元异常多将引起硬件看门狗复位系统。本发明只利用IDLE线程、嵌入式操作系统的TICK时钟计数和硬件看门狗来可靠高效完成系统死机保护作用。

Description

一种嵌入式操作系统的看门狗控制方法
技术领域
本发明涉及计算机技术领域,特别涉及一种嵌入式操作系统的看门狗控制方法。
背景技术
硬件看门狗是利用一个定时器电路,其定时输出连接到电路的复位端,程序在一定时间范围内对定时器清零(俗称“喂狗”),因此程序正常工作时,定时器总不能溢出,也就不能产生复位信号。
软件看门狗原理上一样,只是将硬件电路上的定时器用处理器的内部定时器代替,这样可以简化硬件电路设计,但在可靠性方面不如硬件定时器,比如系统内部定时器自身发生故障就无法检测到。当然也有通过双定时器相互监视,这不仅加大系统开销,也不能解决全部问题,比如中断系统故障导致定时器中断失效。
嵌入式操作系统存在多线程任务设计,常采用硬件和软件看门狗相结合方式,特征如下:系统由每个任务的软件看门狗子程序,以及多任务软件看门狗喂狗子程序构成;每个任务的软件看门狗子程序主要负责该任务软件看门狗的初始化,并在主循环中更新该任务软件看门狗的计数器;多任务软件看门狗喂狗子程序则在每个系统时钟周期内检查每个任务的软件看门狗是否已超时,只要某个任务的软件看门狗超时,就通过硬件看门狗完成对系统的复位。此模式下虽能可靠的避免系统死机问题,但也存在每个任务需独立控制软件看门狗子程序,增加每个任务软件设计的复杂度及代码编写工作量。
发明内容
发明的目的在于提供一种嵌入式操作系统的看门狗控制方法,只利用IDLE线程、嵌入式操作系统的TICK时钟计数和硬件看门狗来可靠高效完成系统死机保护作用,以解决上述背景技术中提出的问题。
为实现上述目的,本发明提供如下技术方案:
一种嵌入式操作系统的看门狗控制方法,硬件看门狗包括嵌入系统TICK时钟计数监测单元、多线程任务监测单元以及硬件看门狗喂狗单元,
所述嵌入系统TICK时钟计数监测单元,通过检测TICK时钟计数值是否改变来监测系统TICK时钟中断是否异常,进而保护系统TICK时钟任务调度正常;
所述多线程任务监测单元,通过利用IDLE线程的最低优先级特性来监测高优先级的线程任务是否出现异常死循环导致IDLE线程无法运行,进而保护多任务运行正常;
所述硬件看门狗喂狗单元,只在上述两个监测单元正常情况下才进行硬件看门狗喂狗动作,任一监测单元异常均将引起硬件看门狗复位系统。
进一步地,控制方法包括如下步骤:
S1:编写代码封装成函数;
S2:利用嵌入式操作系统提供的IDLE线程回调函数把S1步骤封装函数嵌入到IDLE线程循环调用运行。
进一步地,步骤S1中函数编写的流程为判断TICK计数是否变更,如果变更,则硬件看门狗喂狗,如果没有变更,则结束。
与现有技术相比,本发明的有益效果是:
1.本发明提出的嵌入式操作系统的看门狗控制方法,通过检测TICK时钟计数值是否改变来监测系统TICK时钟中断是否异常,进而保护系统TICK时钟任务调度正常;多线程任务监测单元,通过利用IDLE线程的最低优先级特性来监测高优先级的线程任务是否出现异常死循环导致IDLE线程无法运行,进而保护多任务运行正常,可快速加入嵌入式操作系统中,无需对用户多线程任务代码进行修改,有效降低系统复杂度及提高开发效率,通过系统TICK任务调度监测单元和多线程任务监测单元简单高效保护系统在恶劣环境下抗干扰能力;
2.本发明提出的嵌入式操作系统的看门狗控制方法,只利用IDLE线程、嵌入式操作系统的TICK时钟计数和硬件看门狗来可靠高效完成系统死机保护作用。
附图说明
图1为本发明的系统模块图;
图2为本发明的流程图。
图中:1、嵌入系统TICK时钟计数监测单元;2、多线程任务监测单元;3、硬件看门狗喂狗单元。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1,一种嵌入式操作系统的看门狗控制方法,硬件看门狗包括嵌入系统TICK时钟计数监测单元1、多线程任务监测单元2以及硬件看门狗喂狗单元3,系统TICK时钟计数监测单元1,通过检测TICK时钟计数值是否改变来监测系统TICK时钟中断是否异常,进而保护系统TICK时钟任务调度正常;多线程任务监测单元2,通过利用IDLE线程的最低优先级特性来监测高优先级的线程任务是否出现异常死循环导致IDLE线程无法运行,进而保护多任务运行正常,可快速加入嵌入式操作系统中,无需对用户多线程任务代码进行修改,有效降低系统复杂度及提高开发效率,通过系统TICK任务调度监测单元和多线程任务监测单元简单高效保护系统在恶劣环境下抗干扰能力,实现了只利用IDLE线程、嵌入式操作系统的TICK时钟计数和硬件看门狗来可靠高效完成系统死机保护作用;硬件看门狗喂狗单元3,只在上述两个监测单元正常情况下才进行硬件看门狗喂狗动作,任一监测单元异常均将引起硬件看门狗复位系统。
请参阅图2,一种嵌入式操作系统的看门狗控制方法包括如下步骤:
步骤1:开始,判断TICK计数是否变更,如果变更,则硬件看门狗喂狗,然后结束,如果没有变更,则结束,然后根据此流程编写代码封装成函数;
步骤2:利用嵌入式操作系统提供的IDLE线程回调函数把S1步骤封装函数嵌入到IDLE线程循环调用运行,通过系统TICK任务调度监测单元和多线程任务监测单元简单高效保护系统在恶劣环境下抗干扰能力,可快速加入嵌入式操作系统中,无需对用户多线程任务代码进行修改,有效降低系统复杂度及提高开发效率。
本发明的工作原理:三个单元封装为一个模块函数嵌入到IDLE线程任务循环调用;系统TICK时钟计数监测单元,通过检测TICK时钟计数值是否改变来监测系统TICK时钟任务调度是否正常;多任务监测单元,通过利用IDLE线程的最低优先级特性来监测高优先级的任务是否出现异常死循环;硬件看门狗喂狗单元,只在上述两个监测单元正常情况下才进行硬件看门狗喂狗动作,任一监测单元异常多将引起硬件看门狗复位系统,利用嵌入式操作系统提供的IDLE线程回调函数把步骤1封装函数嵌入到IDLE线程循环调用运行。
综上所述,本发明提出的嵌入式操作系统的看门狗控制方法,通过检测TICK时钟计数值是否改变来监测系统TICK时钟中断是否异常,进而保护系统TICK时钟任务调度正常;多线程任务监测单元2,通过利用IDLE线程的最低优先级特性来监测高优先级的线程任务是否出现异常死循环导致IDLE线程无法运行,进而保护多任务运行正常,可快速加入嵌入式操作系统中,无需对用户多线程任务代码进行修改,有效降低系统复杂度及提高开发效率,通过系统TICK任务调度监测单元和多线程任务监测单元简单高效保护系统在恶劣环境下抗干扰能力;硬件看门狗喂狗单元3,只在上述两个监测单元正常情况下才进行硬件看门狗喂狗动作,任一监测单元异常均将引起硬件看门狗复位系统,只利用IDLE线程、嵌入式操作系统的TICK时钟计数和硬件看门狗来可靠高效完成系统死机保护作用。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明披露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。

Claims (3)

1.一种嵌入式操作系统的看门狗控制方法,其特征在于,硬件看门狗包括嵌入系统TICK时钟计数监测单元(1)、多线程任务监测单元(2)以及硬件看门狗喂狗单元(3),
所述嵌入系统TICK时钟计数监测单元(1),通过检测TICK时钟计数值是否改变来监测系统TICK时钟中断是否异常,进而保护系统TICK时钟任务调度正常;
所述多线程任务监测单元(2),通过利用IDLE线程的最低优先级特性来监测高优先级的线程任务是否出现异常死循环导致IDLE线程无法运行,进而保护多任务运行正常;
所述硬件看门狗喂狗单元(3),只在上述两个监测单元正常情况下才进行硬件看门狗喂狗动作,任一监测单元异常均将引起硬件看门狗复位系统。
2.根据权利要求1所述的一种嵌入式操作系统的看门狗控制方法,其特征在于,控制方法包括如下步骤:
S1:编写代码封装成函数;
S2:利用嵌入式操作系统提供的IDLE线程回调函数把S1步骤封装函数嵌入到IDLE线程循环调用运行。
3.根据权利要求1所述的一种嵌入式操作系统的看门狗控制方法,其特征在于,步骤S1中函数编写的流程为判断TICK计数是否变更,如果变更,则硬件看门狗喂狗,如果没有变更,则结束。
CN201811346454.9A 2018-11-13 2018-11-13 一种嵌入式操作系统的看门狗控制方法 Pending CN109491824A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811346454.9A CN109491824A (zh) 2018-11-13 2018-11-13 一种嵌入式操作系统的看门狗控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811346454.9A CN109491824A (zh) 2018-11-13 2018-11-13 一种嵌入式操作系统的看门狗控制方法

Publications (1)

Publication Number Publication Date
CN109491824A true CN109491824A (zh) 2019-03-19

Family

ID=65695775

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811346454.9A Pending CN109491824A (zh) 2018-11-13 2018-11-13 一种嵌入式操作系统的看门狗控制方法

Country Status (1)

Country Link
CN (1) CN109491824A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113626229A (zh) * 2021-06-23 2021-11-09 浙江零跑科技股份有限公司 一种基于sbc的电机控制芯片唤醒方法
CN113946148A (zh) * 2021-09-29 2022-01-18 浙江零跑科技股份有限公司 一种基于多ecu协同控制的mcu芯片唤醒系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1595368A (zh) * 2003-09-13 2005-03-16 华为技术有限公司 多任务系统的异常监控装置及其方法
CN103853625A (zh) * 2012-12-06 2014-06-11 苏州工业园区新宏博通讯科技有限公司 多任务看门狗的实现装置和方法
US20160055046A1 (en) * 2013-04-01 2016-02-25 Zte Corporation System fault detection and processing method, device, and computer readable storage medium
CN106250316A (zh) * 2016-08-09 2016-12-21 东软集团股份有限公司 一种死循环检测方法及装置
CN108491311A (zh) * 2018-04-02 2018-09-04 深圳还是威健康科技有限公司 一种实时操作系统的看门狗监测方法及终端

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1595368A (zh) * 2003-09-13 2005-03-16 华为技术有限公司 多任务系统的异常监控装置及其方法
CN103853625A (zh) * 2012-12-06 2014-06-11 苏州工业园区新宏博通讯科技有限公司 多任务看门狗的实现装置和方法
US20160055046A1 (en) * 2013-04-01 2016-02-25 Zte Corporation System fault detection and processing method, device, and computer readable storage medium
CN106250316A (zh) * 2016-08-09 2016-12-21 东软集团股份有限公司 一种死循环检测方法及装置
CN108491311A (zh) * 2018-04-02 2018-09-04 深圳还是威健康科技有限公司 一种实时操作系统的看门狗监测方法及终端

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113626229A (zh) * 2021-06-23 2021-11-09 浙江零跑科技股份有限公司 一种基于sbc的电机控制芯片唤醒方法
CN113626229B (zh) * 2021-06-23 2023-07-21 浙江零跑科技股份有限公司 一种基于sbc的电机控制芯片唤醒方法
CN113946148A (zh) * 2021-09-29 2022-01-18 浙江零跑科技股份有限公司 一种基于多ecu协同控制的mcu芯片唤醒系统
CN113946148B (zh) * 2021-09-29 2023-11-10 浙江零跑科技股份有限公司 一种基于多ecu协同控制的mcu芯片唤醒系统

Similar Documents

Publication Publication Date Title
CN100568191C (zh) 嵌入式系统的全程喂狗方法
EP2847681B1 (en) Device having configurable breakpoint based on interrupt status
CN102681907B (zh) 一种多功能看门狗电路
US8504753B2 (en) Suspendable interrupts for processor idle management
CN103853625A (zh) 多任务看门狗的实现装置和方法
CN102116165B (zh) 煤矿液压支架控制装置及其集散控制系统
CN109491824A (zh) 一种嵌入式操作系统的看门狗控制方法
CN102163071B (zh) 一种控制电路及其复位时的电源控制方法
US9612893B2 (en) Peripheral watchdog timer
CN1979381A (zh) 一种软硬件协同防止系统死机中断业务的复位方法
CN101452420A (zh) 一种嵌入式软件异常监控和处理装置及其方法
KR20100016636A (ko) 타이밍 포트
CN105550057B (zh) 嵌入式软件系统故障检测恢复方法和系统
EP2847683B1 (en) Processor device with instruction trace capabilities
CN104035536A (zh) 一种嵌入式系统监控及复位控制方法
CN102761439A (zh) Pon接入系统中基于看门狗的异常检测记录装置及方法
CN106933690A (zh) 一种基于mcu的硬件看门狗实现方法
CN111026573A (zh) 一种多核处理系统的看门狗系统及控制方法
CN111538580A (zh) 一种嵌入式实时操作系统的线程信号操作方法与系统
CN103530197A (zh) 一种检测及解决Linux系统死锁的方法
CN104679601A (zh) 防干扰系统启动看门狗的方法
CN115220944A (zh) 一种应用于多核异构处理器看门狗的控制方法
CN202735949U (zh) 一种mcr控制器用双cpu稳定复位装置
US10198062B2 (en) Microprocessor to resume clocking and execution based on external input pattern detection
CN113590374B (zh) 一种看门狗监控系统及其监控方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20190319