CN113886123A - 一种看门狗喂狗方法、装置、电子设备及存储介质 - Google Patents

一种看门狗喂狗方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN113886123A
CN113886123A CN202111165627.9A CN202111165627A CN113886123A CN 113886123 A CN113886123 A CN 113886123A CN 202111165627 A CN202111165627 A CN 202111165627A CN 113886123 A CN113886123 A CN 113886123A
Authority
CN
China
Prior art keywords
executed
task
time
watchdog
subtask
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.)
Granted
Application number
CN202111165627.9A
Other languages
English (en)
Other versions
CN113886123B (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.)
Svolt Energy Technology Co Ltd
Original Assignee
Svolt Energy Technology 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 Svolt Energy Technology Co Ltd filed Critical Svolt Energy Technology Co Ltd
Priority to CN202111165627.9A priority Critical patent/CN113886123B/zh
Publication of CN113886123A publication Critical patent/CN113886123A/zh
Application granted granted Critical
Publication of CN113886123B publication Critical patent/CN113886123B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3013Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is an embedded system, i.e. a combination of hardware and software dedicated to perform a certain function in mobile devices, printers, automotive or aircraft systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3017Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is implementing multitasking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4403Processor initialisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/17Embedded application
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Mathematical Physics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请提供一种看门狗喂狗方法、装置、电子设备及存储介质,该方法包括:监控嵌入式系统中的待执行任务;当待执行任务的执行时长大于预设的看门狗溢出窗口时,对待执行任务进行步骤划分,以得到多个待执行子任务;其中,任一待执行子任务的执行时长不大于看门狗溢出窗口;每生成一次喂狗信号后,执行一个待执行子任务,直至多个待执行子任务均执行完成。上述方案提供的方法,通过对执行时长较长的待执行任务进行步骤划分,以避免该任务长时间占用控制器资源,从而使控制器可以及时喂狗,提高了系统的可靠性。

Description

一种看门狗喂狗方法、装置、电子设备及存储介质
技术领域
本申请涉及自动化技术领域,尤其涉及一种看门狗喂狗方法、装置、电子设备及存储介质。
背景技术
随着科技的飞速进步,MCU等控制器得到了广泛的应用。在实际应用中,控制器常常受到外部干扰,有可能出现各种寄存器和内存数据的错乱、程序指针异常等无法正常运行的情况,从而导致整个系统崩溃,造成不可预料的后果。因此,为了保证系统可以正常运行,一种专门用于监测控制器在程序运行过程中的状态的看门狗便应运而生。
但是,看门狗在实际应用中,当控制器执行一些复杂任务时,控制器不能及时执行喂狗操作,需要人为增大看门狗溢出时间,否则将造成系统复位,降低了系统的可靠性。
发明内容
本申请提供一种看门狗喂狗方法、装置、电子设备及存储介质,以解决现有技术不能及时执行喂狗操作,造成系统复位等缺陷。
本申请第一个方面提供一种看门狗喂狗方法,包括:
监控嵌入式系统中的待执行任务;
当所述待执行任务的执行时长大于预设的看门狗溢出窗口时,对所述待执行任务进行步骤划分,以得到多个待执行子任务;其中,任一所述待执行子任务的执行时长不大于所述看门狗溢出窗口;
每生成一次喂狗信号后,执行一个待执行子任务,直至所述多个待执行子任务均执行完成。
可选的,所述方法还包括:
当所述嵌入式系统从加载引导程序跳转到应用程序时,对所述应用程序进行初始化;
将所述嵌入式系统的程序跳转时间和应用程序初始化时间计入系统时间;
在所述应用程序运行的过程中,控制系统定时器在当前系统时间的基础上进行计时;
按照所述看门狗溢出窗口,根据所述系统定时器的计时结果,生成喂狗信号。
可选的,当所述待执行任务为FLASH擦写任务时,所述方法还包括:
在所述待执行子任务均执行完成后,等待生成喂狗信号;
在所述喂狗信号生成后,在等待预设延迟时间后再跳转到应用程序;其中,所述预设延迟时间与所述述嵌入式系统的程序跳转时间相同。
可选的,当所述待执行任务为需要关闭系统中断的任务时,在执行所述待执行子任务之前,所述方法还包括:
在生成一次喂狗信号后,关闭系统中断,同时开启控制系统定时器。
可选的,所述每生成一次喂狗信号后,执行一个待执行子任务,包括:
在第一次生成喂狗信号后,执行当前待执行子任务;
在所述当前待执行子任务执行完成后,等待生成新的喂狗信号;
在生成所述喂狗信号后,执行下一个待执行子任务。
可选的,所述监控嵌入式系统中的待执行任务,包括:
获取所述待执行任务的属性信息;
根据所述待执行任务的属性信息,判断所述待执行任务的执行时长是否大于预设的看门狗溢出窗口。
可选的,所述喂狗信号是按照所述看门狗溢出窗口生成的。
本申请第二个方面提供一种看门狗喂狗装置,包括:
监控模块,用于监控嵌入式系统中的待执行任务;
步骤划分模块,用于当所述待执行任务的执行时长大于预设的看门狗溢出窗口时,对所述待执行任务进行步骤划分,以得到多个待执行子任务;其中,任一所述待执行子任务的执行时长不大于所述看门狗溢出窗口;
执行模块,用于每生成一次喂狗信号后,执行一个待执行子任务,直至所述多个待执行子任务均执行完成。
可选的,该装置还包括:
计时调整模块,用于当所述嵌入式系统从加载引导程序跳转到应用程序时,对所述应用程序进行初始化;将所述嵌入式系统的程序跳转时间和应用程序初始化时间计入系统时间;在所述应用程序运行的过程中,控制系统定时器在当前系统时间的基础上进行计时;按照所述看门狗溢出窗口,根据所述系统定时器的计时结果,生成喂狗信号。
可选的,所述装置还包括:
延迟模块,用于当所述待执行任务为FLASH擦写任务时,在所述待执行子任务均执行完成后,等待生成喂狗信号;在所述喂狗信号生成后,在等待预设延迟时间后再跳转到应用程序;其中,所述预设延迟时间与所述述嵌入式系统的程序跳转时间相同。
可选的,所述执行模块,还用于:
当所述待执行任务为需要关闭系统中断的任务时,在生成一次喂狗信号后,关闭系统中断,同时开启控制系统定时器。
可选的,所述执行模块,具体用于:
在第一次生成喂狗信号后,执行当前待执行子任务;
在所述当前待执行子任务执行完成后,等待生成新的喂狗信号;
在生成所述喂狗信号后,执行下一个待执行子任务。
可选的,所述监控模块,具体用于:
获取所述待执行任务的属性信息;
根据所述待执行任务的属性信息,判断所述待执行任务的执行时长是否大于预设的看门狗溢出窗口。
可选的,所述喂狗信号是按照所述看门狗溢出窗口生成的。
本申请第三个方面提供一种电子设备,包括:至少一个处理器和存储器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如上第一个方面以及第一个方面各种可能的设计所述的方法。
本申请第四个方面提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上第一个方面以及第一个方面各种可能的设计所述的方法。
本申请技术方案,具有如下优点:
本申请提供一种看门狗喂狗方法、装置、电子设备及存储介质,该方法包括:监控嵌入式系统中的待执行任务;当待执行任务的执行时长大于预设的看门狗溢出窗口时,对待执行任务进行步骤划分,以得到多个待执行子任务;其中,任一待执行子任务的执行时长不大于看门狗溢出窗口;每生成一次喂狗信号后,执行一个待执行子任务,直至多个待执行子任务均执行完成。上述方案提供的方法,通过对执行时长较长的待执行任务进行步骤划分,以避免该任务长时间占用控制器资源,从而使控制器可以及时喂狗,提高了系统的可靠性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1为本申请实施例基于的嵌入式系统的结构示意图;
图2为本申请实施例提供的看门狗喂狗方法的流程示意图;
图3为本申请实施例提供的看门狗喂狗窗口的示意图;
图4为本申请实施例提供的多种看门狗喂狗窗口的对比图;
图5为本申请实施例提供示例性的看门狗喂狗方法的流程示意图;
图6为本申请实施例提供的看门狗喂狗装置的结构示意图;
图7为本申请实施例提供的电子设备的结构示意图。
通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本公开构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
此外,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。在以下各实施例的描述中,“多个”的含义是两个以上,除非另有明确具体的限定。
下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本发明实施例进行描述。
首先,对本申请所基于的嵌入式系统的结构进行说明:
本申请实施例提供看门狗喂狗方法、装置、电子设备及存储介质,适用于对对嵌入式系统外部看门狗进行喂狗。如图1所示,为本申请实施例基于的嵌入式系统的结构示意图,主要包括系统基础芯片和微控制器。具体地,系统基础芯片(SBC)为MCU提供直流电源(VDD),并通过引脚与MCU的复位(RESET)引脚连接。SBC内部具有看门狗功能(WDG),在MCU未通过SPI及时喂狗的情况下,会通过RESET引脚输出低电平,将MCU复位,还可设置在特定条件下切断VDD输出。MCU和SBC之间通过串行外设接口(SPI)进行通讯,MCU对SBC进行初始化,设置SBC的看门狗溢出时间。MCU内部通过周期性中断(PIT)的通道0(CH0)实现系统软件定时器功能,在不关闭PIT的CHO中断情况下,可以使用该计数器来在计数,实现及时喂狗。
本申请实施例提供了一种看门狗喂狗方法,用于及时对看门狗进行喂狗操作。本申请实施例的执行主体为电子设备,比如服务器、台式电脑、笔记本电脑、平板电脑及其他可用于进行看门狗喂狗的电子设备。
如图2所示,为本申请实施例提供的看门狗喂狗方法的流程示意图,该方法包括:
步骤201,监控嵌入式系统中的待执行任务。
具体地,可以监控嵌入式系统中的待执行任务的任务类型,从而确定其对应的执行时长。
具体地,在一实施例中,可以获取待执行任务的属性信息;根据待执行任务的属性信息,判断待执行任务的执行时长是否大于预设的看门狗溢出窗口。
具体地,可以根据待执行任务的属性信息,确定待执行任务的任务类型,根据各类型的任务对应的标准执行时长,判断待执行任务的执行时长是否大于预设的看门狗溢出窗口。
步骤202,当待执行任务的执行时长大于预设的看门狗溢出窗口时,对待执行任务进行步骤划分,以得到多个待执行子任务。
其中,任一待执行子任务的执行时长不大于看门狗溢出窗口。
需要说明的是,若执行时长较长的待执行任务直接执行,而不对其进行步骤划分,则控制器需要耗费较长的时间执行该待执行任务,在执行任务期间无法按照预设的看门狗溢出窗口生成喂狗信号,即无法及时进行看门狗喂狗操作。因此,本申请实施例提供的看门狗喂狗方法为了避免上述情况的发生,可以按照原本看门狗溢出窗口,对这样的待执行任务进行步骤划分,以得到多个执行时间较短的待执行子任务,而无需为执行长任务修改看门狗溢出窗口,且待执行子任务的执行不会影响看门狗喂狗的及时性。
相反地,在一实施例中,当待执行任务的执行时长不大于预设的看门狗溢出窗口时,则不对其进行步骤划分,控制器正常按照看门狗溢出窗口喂狗进行喂狗操作即可。
步骤203,每生成一次喂狗信号后,执行一个待执行子任务,直至多个待执行子任务均执行完成。
其中,喂狗信号是按照看门狗溢出窗口生成的。
具体地,由于待执行子任务是按照看门狗喂狗窗口来划分的,那么待执行子任务的执行时长也就不超过看门狗喂狗周期。为了可以使每个待执行子任务都可以得到整个看门狗喂狗周期,以避免出现待执行子任务还没执行完成,就进入下一个看门狗溢出窗口,可以将喂狗信号的生成作为待执行子任务的触发信号,即在控制器在生成一个喂狗信号后,便执行一个待执行子任务。
具体地,在一实施例中,可以在第一次生成喂狗信号后,执行当前待执行子任务;在当前待执行子任务执行完成后,等待生成新的喂狗信号;在生成喂狗信号后,执行下一个待执行子任务。
示例性的,在生成第一个喂狗信号后,执行首个待执行子任务,在首个待执行子任务执行完成后,等待下一个喂狗信号,在生成第二个喂狗信号后,执行第二个待执行子任务,以此类推,直至执行完所有待执行子任务。
其中,看门狗溢出窗口与预设的看门狗溢出时间相对应,如图3所示,为本申请实施例提供的看门狗喂狗窗口的示意图,目前为了提高对异常系统的监控能力,外部看门狗的模式在初始化时就设定为窗口狗模式,窗口狗模式要求嵌入式系统在看门狗溢出窗口的后一半窗口时间才能有效喂狗。当看门狗应用到车载ECU时,车载ECU所要求的系统故障相应时间都较短,看门狗的窗口周期要设计的比较小,一般要求小于100毫秒。
并且,考虑不同系统元器件的差异及同一个系统在各种运行环境下的特定差异,看门狗窗口必定存在偏快或者偏慢的误差,如图4所示,为本申请实施例提供的多种看门狗喂狗窗口的对比图。因此,嵌入式系统在进行软件设计时,必须进行容差考虑,以提高系统的健壮性。其中,合理的喂狗窗口位于窗口开启最晚时间与窗口关闭最早时间之间。
在上述实施例的基础上,当嵌入式系统软件由加载引导程序(BootLoader)跳转到应用程序(APP)时,由于程序的跳转将产生一定的时间消耗,而目前嵌入式系统的应用程序在开启CHO之前,系统并不能记录时间,即程序跳转的时耗将被忽略,也就影响了喂狗的及时性。
为了解决上述问题,作为一种可实施的方式,在一实施例中,该方法还包括:
步骤301,当嵌入式系统从加载引导程序跳转到应用程序时,对应用程序进行初始化;
步骤302,将嵌入式系统的程序跳转时间和应用程序初始化时间计入系统时间;
步骤303,在应用程序运行的过程中,控制系统定时器在当前系统时间的基础上进行计时;
步骤304,按照看门狗溢出窗口,根据系统定时器的计时结果,生成喂狗信号。
具体地,在嵌入式系统从加载引导程序跳转到应用程序的情况下,记录嵌入式系统的程序跳转时间和应用程序初始化时间,然后控制系统定时器在程序跳转时间和应用程序初始化时间的基础上进行计时,以得到准确的计时结果。类似地,也可以根据嵌入式系统的程序跳转时间、应用程序初始化时间和后续的系统定时器(CHO)计时结果的累计结果,确定最终的计时结果。
其中,通过根据本申请实施例得到的计时结果,按时生成喂狗信号,可以实现及时喂狗。
相应地,在一实施例中,为了减少应用程序的喂狗操作难度,当待执行任务为FLASH擦写任务时,该方法还包括:
步骤401,在待执行子任务均执行完成后,等待生成喂狗信号;
步骤402,在喂狗信号生成后,在等待预设延迟时间后再跳转到应用程序;其中,预设延迟时间与述嵌入式系统的程序跳转时间相同。
其中,如图5所示,为本申请实施例提供示例性的看门狗喂狗方法的流程示意图。其中,控制器在完成FLASH擦写任务的执行后,将进入应用程序。为了保证擦写FLASH后跳转到应用程序(APP)与不擦写FLASH直接跳转到APP,对APP而言,其需要进行的看门狗喂狗操作一致,可以让控制器在待执行子任务均执行完成后,等待生成喂狗信号,以进入一个完整的看门狗溢出窗口,然后在等待预设延迟时间后再跳转到应用程序。
具体地,在一实施例中,考虑到多种任务的特性,以使本申请实施例提供的看门狗喂狗方法适用于系统应用的各个阶段,当待执行任务为需要关闭系统中断的任务时,在执行待执行子任务之前,可以在生成一次喂狗信号后,关闭系统中断,同时开启控制系统定时器。
具体地,在关闭系统中断的情况下,根据控制系统定时器的计时结果,按照看门狗溢出窗口,生成喂狗信号,以在关闭系统中断的情况下,依然实现及时喂狗。
具体地,如图5所示,嵌入式系统上电后,首先运行加载引导程序(BootLoader),BootLoader中通过SPI通讯对SBC芯片进行初始化,初始化后,SBC进入Normal工作模式,外部看门狗开始生效,接下来的软件运行都必须保证外部看门狗喂狗操作的及时性和有效性。SBC初始化后,开启控制器(MCU)内部的PIT的CH0,通过1毫秒的周期性中断来进行系统精准计时,保证喂狗操作的参考时间准确。如果需要更新FALSH内容,则在完成一次喂狗操作之后再关闭系统中断,以保证后续操作有一个完整的看门狗窗口时间可以使用。同时,由于系统定时器依赖于CH0的中断,在中断关闭后,需要开启CH1(不开启其中断)来进行计时。
示例性的,针对FLASH擦写任务,由于初始化SBC时设定的外部看门狗溢出时间较短(以64毫秒为例),小于擦除整个FALSH片区的实际耗时(FLASH擦写任务的执行时长),所以将擦除操作划分为若干个耗时小于看门狗溢出时间的子任务(步骤),在每一个步骤完成后,利用擦除FLASH期间CH1的计数,测量上一步骤的耗时,将其耗时(T1-T0)累加进系统时间,然后计时等待完成一次喂狗操作。之后判断FLASH擦除操作是否已经彻底完成,如果未完成则重复上述擦除步骤,直到擦除操作完成。FALSH的写入操作同样耗时较长,也需要如擦除操作一样,将其进行更加精细化的步骤划分,操作方法与擦写步骤相同,不再赘述。
进一步地,在FLASH擦写任务执行完成后,打开系统CHO中断。
本申请实施例提供的看门狗喂狗方法,通过监控嵌入式系统中的待执行任务;当待执行任务的执行时长大于预设的看门狗溢出窗口时,对待执行任务进行步骤划分,以得到多个待执行子任务;其中,任一待执行子任务的执行时长不大于看门狗溢出窗口;每生成一次喂狗信号后,执行一个待执行子任务,直至多个待执行子任务均执行完成。上述方案提供的方法,通过对执行时长较长的待执行任务进行步骤划分,以避免该任务长时间占用控制器资源,从而使控制器可以及时喂狗,提高了系统的可靠性。并且,可以在系统需要关闭中断的情况下及程序跳转的情况下,实现及时喂狗,极大地提高了系统正常运行的可靠性,并能在系统异常时及时复位系统。
本申请实施例提供了一种看门狗喂狗装置,用于执行上述实施例提供的看门狗喂狗方法。
如图6所示,为本申请实施例提供的看门狗喂狗装置的结构示意图。该看门狗喂狗装置60包括监控模块601、步骤划分模块602和执行模块603。
其中,监控模块,用于监控嵌入式系统中的待执行任务;步骤划分模块,用于当待执行任务的执行时长大于预设的看门狗溢出窗口时,对待执行任务进行步骤划分,以得到多个待执行子任务;其中,任一待执行子任务的执行时长不大于看门狗溢出窗口;执行模块,用于每生成一次喂狗信号后,执行一个待执行子任务,直至多个待执行子任务均执行完成。
具体地,在一实施例中,该装置还包括:
计时调整模块,用于当嵌入式系统从加载引导程序跳转到应用程序时,对应用程序进行初始化;将嵌入式系统的程序跳转时间和应用程序初始化时间计入系统时间;在应用程序运行的过程中,控制系统定时器在当前系统时间的基础上进行计时;按照看门狗溢出窗口,根据系统定时器的计时结果,生成喂狗信号。
具体地,在一实施例中,该装置还包括:
延迟模块,用于当待执行任务为FLASH擦写任务时,在待执行子任务均执行完成后,等待生成喂狗信号;在喂狗信号生成后,在等待预设延迟时间后再跳转到应用程序;其中,预设延迟时间与述嵌入式系统的程序跳转时间相同。
具体地,在一实施例中,执行模块,还用于:
当待执行任务为需要关闭系统中断的任务时,在生成一次喂狗信号后,关闭系统中断,同时开启控制系统定时器。
具体地,在一实施例中,执行模块,具体用于:
在第一次生成喂狗信号后,执行当前待执行子任务;
在当前待执行子任务执行完成后,等待生成新的喂狗信号;
在生成喂狗信号后,执行下一个待执行子任务。
具体地,在一实施例中,监控模块,具体用于:
获取待执行任务的属性信息;
根据待执行任务的属性信息,判断待执行任务的执行时长是否大于预设的看门狗溢出窗口。
具体地,在一实施例中,喂狗信号是按照看门狗溢出窗口生成的。
关于本实施例中的看门狗喂狗装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
本申请实施例提供的看门狗喂狗装置,用于执行上述实施例提供的看门狗喂狗方法,其实现方式与原理相同,不再赘述。
本申请实施例提供了一种电子设备,用于执行上述实施例提供的看门狗喂狗方法。
如图7所示,为本申请实施例提供的电子设备的结构示意图。该电子设备70包括:至少一个处理器71和存储器72;
所述存储器存储计算机执行指令;所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如上实施例提供的看门狗喂狗方法。
本申请实施例提供的一种电子设备,用于执行上述实施例提供的看门狗喂狗方法,其实现方式与原理相同,不再赘述。
本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上任一实施例提供的看门狗喂狗方法。
本申请实施例的包含计算机可执行指令的存储介质,可用于存储前述实施例中提供的看门狗喂狗方法的计算机执行指令,其实现方式与原理相同,不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

Claims (10)

1.一种看门狗喂狗方法,其特征在于,包括:
监控嵌入式系统中的待执行任务;
当所述待执行任务的执行时长大于预设的看门狗溢出窗口时,对所述待执行任务进行步骤划分,以得到多个待执行子任务;其中,任一所述待执行子任务的执行时长不大于所述看门狗溢出窗口;
每生成一次喂狗信号后,执行一个待执行子任务,直至所述多个待执行子任务均执行完成。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当所述嵌入式系统从加载引导程序跳转到应用程序时,对所述应用程序进行初始化;
将所述嵌入式系统的程序跳转时间和应用程序初始化时间计入系统时间;
在所述应用程序运行的过程中,控制系统定时器在当前系统时间的基础上进行计时;
按照所述看门狗溢出窗口,根据所述系统定时器的计时结果,生成喂狗信号。
3.根据权利要求2所述的方法,其特征在于,当所述待执行任务为FLASH擦写任务时,所述方法还包括:
在所述待执行子任务均执行完成后,等待生成喂狗信号;
在所述喂狗信号生成后,在等待预设延迟时间后再跳转到应用程序;其中,所述预设延迟时间与所述述嵌入式系统的程序跳转时间相同。
4.根据权利要求1所述的方法,其特征在于,当所述待执行任务为需要关闭系统中断的任务时,在执行所述待执行子任务之前,所述方法还包括:
在生成一次喂狗信号后,关闭系统中断,同时开启控制系统定时器。
5.根据权利要求1所述的方法,其特征在于,所述每生成一次喂狗信号后,执行一个待执行子任务,包括:
在第一次生成喂狗信号后,执行当前待执行子任务;
在所述当前待执行子任务执行完成后,等待生成新的喂狗信号;
在生成所述喂狗信号后,执行下一个待执行子任务。
6.根据权利要求1所述的方法,其特征在于,所述监控嵌入式系统中的待执行任务,包括:
获取所述待执行任务的属性信息;
根据所述待执行任务的属性信息,判断所述待执行任务的执行时长是否大于预设的看门狗溢出窗口。
7.根据权利要求1-6任一项所述的方法,其特征在于,所述喂狗信号是按照所述看门狗溢出窗口生成的。
8.一种看门狗喂狗装置,其特征在于,包括:
监控模块,用于监控嵌入式系统中的待执行任务;
步骤划分模块,用于当所述待执行任务的执行时长大于预设的看门狗溢出窗口时,对所述待执行任务进行步骤划分,以得到多个待执行子任务;其中,任一所述待执行子任务的执行时长不大于所述看门狗溢出窗口;
执行模块,用于每生成一次喂狗信号后,执行一个待执行子任务,直至所述多个待执行子任务均执行完成。
9.一种电子设备,其特征在于,包括:至少一个处理器和存储器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如权利要求1至7任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如权利要求1至7任一项所述的方法。
CN202111165627.9A 2021-09-30 2021-09-30 一种看门狗喂狗方法、装置、电子设备及存储介质 Active CN113886123B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111165627.9A CN113886123B (zh) 2021-09-30 2021-09-30 一种看门狗喂狗方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111165627.9A CN113886123B (zh) 2021-09-30 2021-09-30 一种看门狗喂狗方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN113886123A true CN113886123A (zh) 2022-01-04
CN113886123B CN113886123B (zh) 2023-06-30

Family

ID=79005169

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111165627.9A Active CN113886123B (zh) 2021-09-30 2021-09-30 一种看门狗喂狗方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN113886123B (zh)

Citations (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06139113A (ja) * 1992-10-23 1994-05-20 Asuko Kk ウオッチドッグタイマの故障検出装置
JPH0725433U (ja) * 1993-10-12 1995-05-12 日新電機株式会社 ウォッチドッグタイマ装置
JP2004054583A (ja) * 2002-07-19 2004-02-19 Denso Wave Inc セキュリティ装置およびセキュリティ装置の動作復帰方法
US20040073891A1 (en) * 2002-09-11 2004-04-15 Sun Microsystems, Inc. Methods and systems for software watchdog support
CN101196836A (zh) * 2007-12-29 2008-06-11 上海华为技术有限公司 一种控制看门狗电路复位的方法和装置
CN101271414A (zh) * 2008-05-06 2008-09-24 江苏东大金智建筑智能化系统工程有限公司 嵌入式系统的全程喂狗方法
CN101334749A (zh) * 2008-07-25 2008-12-31 中兴通讯股份有限公司 一种嵌入式系统的中断监控方法及装置
US20100211813A1 (en) * 2009-02-17 2010-08-19 Nec Electronics Corporation Watchdog timer and control method therefor
CN102360315A (zh) * 2011-09-30 2012-02-22 中国航空工业集团公司第六三一研究所 一种容错控制系统看门狗电路管理方法
CN103885847A (zh) * 2014-02-08 2014-06-25 京信通信系统(中国)有限公司 一种基于嵌入式系统的喂狗方法及装置
CN104063223A (zh) * 2014-06-26 2014-09-24 西安空间无线电技术研究所 一种fpga实现软件编程器件可控看门狗功能的方法
CN203909782U (zh) * 2014-06-13 2014-10-29 中国航天科技集团公司第九研究院第七七一研究所 一种自适应处理器状态的看门狗电路控制模块
CN104503859A (zh) * 2014-12-29 2015-04-08 长园深瑞继保自动化有限公司 在启动过程中监控计算机操作系统的方法
CN105260255A (zh) * 2015-10-10 2016-01-20 中国兵器工业集团第二一四研究所苏州研发中心 一种多处理器核片上系统的看门狗实现方法
CN107111526A (zh) * 2015-02-27 2017-08-29 密克罗奇普技术公司 看门狗定时器
CN110297724A (zh) * 2019-06-27 2019-10-01 厦门四信通信科技有限公司 嵌入式软件看门狗设计方法、装置、设备及存储介质
US20200012552A1 (en) * 2018-07-06 2020-01-09 Dell Products L.P. System and Method of Utilizing a Watchdog Timer
CN112084054A (zh) * 2020-08-17 2020-12-15 浪潮思科网络科技有限公司 一种看门狗电路及喂狗方法、设备

Patent Citations (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06139113A (ja) * 1992-10-23 1994-05-20 Asuko Kk ウオッチドッグタイマの故障検出装置
JPH0725433U (ja) * 1993-10-12 1995-05-12 日新電機株式会社 ウォッチドッグタイマ装置
JP2004054583A (ja) * 2002-07-19 2004-02-19 Denso Wave Inc セキュリティ装置およびセキュリティ装置の動作復帰方法
US20040073891A1 (en) * 2002-09-11 2004-04-15 Sun Microsystems, Inc. Methods and systems for software watchdog support
CN101196836A (zh) * 2007-12-29 2008-06-11 上海华为技术有限公司 一种控制看门狗电路复位的方法和装置
CN101271414A (zh) * 2008-05-06 2008-09-24 江苏东大金智建筑智能化系统工程有限公司 嵌入式系统的全程喂狗方法
CN101334749A (zh) * 2008-07-25 2008-12-31 中兴通讯股份有限公司 一种嵌入式系统的中断监控方法及装置
US20100211813A1 (en) * 2009-02-17 2010-08-19 Nec Electronics Corporation Watchdog timer and control method therefor
CN102360315A (zh) * 2011-09-30 2012-02-22 中国航空工业集团公司第六三一研究所 一种容错控制系统看门狗电路管理方法
CN103885847A (zh) * 2014-02-08 2014-06-25 京信通信系统(中国)有限公司 一种基于嵌入式系统的喂狗方法及装置
CN203909782U (zh) * 2014-06-13 2014-10-29 中国航天科技集团公司第九研究院第七七一研究所 一种自适应处理器状态的看门狗电路控制模块
CN104063223A (zh) * 2014-06-26 2014-09-24 西安空间无线电技术研究所 一种fpga实现软件编程器件可控看门狗功能的方法
CN104503859A (zh) * 2014-12-29 2015-04-08 长园深瑞继保自动化有限公司 在启动过程中监控计算机操作系统的方法
CN107111526A (zh) * 2015-02-27 2017-08-29 密克罗奇普技术公司 看门狗定时器
CN105260255A (zh) * 2015-10-10 2016-01-20 中国兵器工业集团第二一四研究所苏州研发中心 一种多处理器核片上系统的看门狗实现方法
US20200012552A1 (en) * 2018-07-06 2020-01-09 Dell Products L.P. System and Method of Utilizing a Watchdog Timer
CN110297724A (zh) * 2019-06-27 2019-10-01 厦门四信通信科技有限公司 嵌入式软件看门狗设计方法、装置、设备及存储介质
CN112084054A (zh) * 2020-08-17 2020-12-15 浪潮思科网络科技有限公司 一种看门狗电路及喂狗方法、设备

Also Published As

Publication number Publication date
CN113886123B (zh) 2023-06-30

Similar Documents

Publication Publication Date Title
US8484006B2 (en) Method for dynamically adjusting speed versus accuracy of computer platform simulation
KR20070089460A (ko) 우선 순위에 따른 비휘발성 메모리의 연산 처리 장치 및방법
US20060195821A1 (en) Interface converter for unified view of multiple computer system simulations
KR102209030B1 (ko) 결정론적 에러를 실시간으로 복구하는 태스크 시간 할당 방법
US9311138B2 (en) System management interrupt handling for multi-core processors
CN111796771B (zh) 闪存控制器、固态硬盘及其控制器、闪存命令管理方法
CN103827834A (zh) 一种内存数据的迁移方法、计算机和装置
US20190278508A1 (en) Information Handling System Firmware Persistent Memory Runtime Reclaim
CN116049035B (zh) 一种缓存一致性的验证和调试的实现方法
CN108241522B (zh) 虚拟化环境中的睡眠状态切换方法、装置及电子设备
CN102622257A (zh) 电表在线自更新方法及其装置
CN113886123A (zh) 一种看门狗喂狗方法、装置、电子设备及存储介质
WO2022237419A1 (zh) 任务执行方法、装置及存储介质
US7603673B2 (en) Method and system for reducing context switch times
US20120191444A1 (en) Simulation device, simulation method, and computer program therefor
CN114556120A (zh) 用于组织处理路径的激励以用于测试微电路的方法、布置和计算机程序产品
CN111722855A (zh) 一种基于eMMC的固件烧录系统、方法与集成芯片
US8914274B1 (en) Method and system for instruction set simulation with concurrent attachment of multiple debuggers
CN112599172B (zh) 电子控制单元的数据写入方法、装置及存储介质
CN117631793B (zh) 复位方法、装置、计算机设备和存储介质
CN116956239A (zh) 双核系统的看门狗控制方法、装置、介质及电子设备
US11669491B2 (en) Processor, system on chip including heterogeneous core, and operating methods thereof for optimizing hot functions for execution on each core of a heterogeneous processor
JP6691239B2 (ja) 演算ユニットを駆動する方法
WO2006091785A1 (en) Interface converter for unified view of multiple computer system simulations
CN115599187A (zh) 基于fpga实现dsp复位过程的系统及控制方法

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
GR01 Patent grant
GR01 Patent grant