CN115543670A - 一种基于看门狗中断的mcu异常复位检测方法 - Google Patents
一种基于看门狗中断的mcu异常复位检测方法 Download PDFInfo
- Publication number
- CN115543670A CN115543670A CN202211168555.8A CN202211168555A CN115543670A CN 115543670 A CN115543670 A CN 115543670A CN 202211168555 A CN202211168555 A CN 202211168555A CN 115543670 A CN115543670 A CN 115543670A
- Authority
- CN
- China
- Prior art keywords
- watchdog
- abnormal
- environment information
- mcu
- detection method
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error 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/0751—Error or fault detection not based on redundancy
- G06F11/0754—Error or fault detection not based on redundancy by exceeding limits
- G06F11/0757—Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1441—Resetting or repowering
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)
Abstract
本发明涉及系统异常检测相关领域,尤其涉及一种基于看门狗中断的MCU异常复位检测方法,具体包括以下步骤:S1在看门狗中断机制触发后,保存实时的系统环境信息;S2在异常重启后,读取RSTSR,判断系统异常原因;S3如果为看门狗超时,则读取保存的异常时刻系统环境信息,即可帮助诊断出系统异常原因。本发明在看门狗中断机制触发后,可将实时系统环境信息保存到外部Flash中后再进行复位,再通过读取RSTSR,快速判断系统异常原因,如果为看门狗超时,则可通过读取外部Flash中保存的异常时刻系统环境信息,从而对MCU异常复位进行检测,帮助诊断系统异常原因。
Description
技术领域
本发明涉及系统异常检测相关领域,尤其涉及一种基于看门狗中断的MCU异常复位检测方法。
背景技术
看门狗是一种持续监控系统运行,在系统异常时进行复位的机制,看门狗的核心是看门狗定时器,看门狗定时器实际上是一个计数器,一般给看门狗定时器一个阈值,程序开始运行后,看门狗开始倒计数;如果系统程序运行正常,过一段时间就会收到一个刷新信号,让看门狗中的定时器刷新计数值后重新开始计数(此动作称为喂狗)如附图5中左图所示。
程序在开发阶段,系统可能因为程序潜在错误和环境干扰等因素导致系统死机,从而影响系统的正常运行,而实际工程开发中,大部分的复位都来自看门狗超时引发的异常复位,因此,亟需提供一种基于看门狗中断的MCU异常复位检测方法,以解决上述问题。
发明内容
为了解决上述技术问题,本发明提供一种基于看门狗中断的MCU异常复位检测方法,通过MCU的看门狗中断机制与RSTSR,实现复位异常信息记录。
为了实现上述目的,本发明采取以下技术方案:一种基于看门狗中断的MCU异常复位检测方法,具体包括以下步骤:
S1在看门狗中断机制触发后,保存实时的系统环境信息;
S2在异常重启后,读取RSTSR,判断系统异常原因;
S3如果为看门狗超时,则读取保存的异常时刻系统环境信息,即可帮助诊断出系统异常原因。
优选的,步骤S1中系统环境信息存入外部Flash。
优选的,系统环境信息包括PSR数据、PC指针、LR数据、内核通用寄存器状态等。
优选的,看门狗中断机制触发具体包括以下步骤:
S11在系统正常运行时会一定时间内刷新看门狗定时器值,使得定时器不会溢出;
S12当定时器溢出时,进入看门狗中断机制进入中断;
S13在S12步骤中进入看门狗中断机制触发即表明系统异常,随即进行异常信息保存,并进行系统复位。
本发明的有益效果:
本发明通过在看门狗中断机制触发后,可将实时系统环境信息保存到外部Flash中后再进行复位,再通过读取RSTSR,快速判断系统异常原因,如果为看门狗超时,则可通过读取外部Flash中保存的异常时刻系统环境信息,从而对MCU异常复位进行检测,帮助诊断系统异常原因。
附图说明
图1是本发明异常复位检测方法流程图;
图2是本发明看门狗中断机制流程图;
图3是本发明内核寄存器存储示意图;
图4是本发明RSTSR存储示意图;
图5是本发明系统正常运行和异常运行对比流程图。
具体实施方式
为了进一步解释本发明的技术方案,下面通过具体实施例进行详细阐述。
如图1-图5所示,本发明提供一种基于看门狗中断的MCU异常复位检测方法,具体包括以下步骤:
S1在门狗中断机制触发后,保存实时的系统环境信息,该系统环境信息存入外部Flash,其中,该系统环境信息包括PSR数据、PC指针、LR数据、内核通用寄存器状态等。
需要说明的是,用于存储系统环境信息介质的不仅限于Flash,也可选用其他存储介质;
S2在正常开机时,在系统初始化中会检查RSTSR,如果为正常上电复位则直接进入后续的正常业务流程;
S3而在异常重启后,读取RSTSR,则可判断系统异常原因;
S4如果为看门狗超时,则读取保存的异常时刻系统环境信息,即可帮助诊断出系统异常原因,并通过串口打印到终端。
需要说明的是,本实施例中的RSTSR(Reset Status Register):复位状态寄存器;
PSR(Program Status Register):程序状态寄存器;
PC(Program Counter):程序计数器;
LR(Link Register):链接寄存器。
如图2和图5所示,看门狗中断机制触发具体包括以下步骤:
S11在系统正常运行时会一定时间内刷新看门狗定时器值,使得定时器不会溢出;
S12当定时器溢出时,进入看门狗中断机制进行中断;
S13在S12步骤中进入看门狗中断机制触发即表明系统异常,随即进行异常信息保存,并进行系统复位。
其中,看门狗中断机制会读取MCU内核寄存器的内核信息,写入异常日志到外部的Flash内。
本发明提供一种基于看门狗中断的MCU异常复位检测方法,通过在看门狗中断机制触发后,可将实时系统环境信息保存到外部Flash中后再进行复位,再通过读取RSTSR,快速判断系统异常原因,如果为看门狗超时,则可通过读取外部Flash中保存的异常时刻系统环境信息,从而对MCU异常复位进行检测,帮助诊断系统异常原因。
以上所述仅为本发明的优选实例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (4)
1.一种基于看门狗中断的MCU异常复位检测方法,具体包括以下步骤:
S1在看门狗中断机制触发后,保存实时的系统环境信息;
S2在异常重启后,读取RSTSR,判断系统异常原因;
S3如果为看门狗超时,则读取外部FLASH保存的异常时刻系统环境信息,即可帮助诊断出系统异常原因。
2.根据权利要求1所述一种基于看门狗中断的MCU异常复位检测方法,其特征在于:所述步骤S1中系统环境信息存入外部Flash。
3.根据权利要求2所述一种基于看门狗中断的MCU异常复位检测方法,其特征在于:所述系统环境信息包括PSR数据、PC指针、LR数据、内核通用寄存器状态等。
4.根据权利要求1所述一种基于看门狗中断的MCU异常复位检测方法,其特征在于:所述看门狗中断机制触发具体包括以下步骤:
S11在系统正常运行时会一定时间内刷新看门狗定时器值,使得定时器不会溢出;
S12当定时器溢出时,进入看门狗中断机制进入中断;
S13在S12步骤中进入看门狗中断机制触发即表明系统异常,随即进行异常信息保存,并进行系统复位。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211168555.8A CN115543670A (zh) | 2022-09-24 | 2022-09-24 | 一种基于看门狗中断的mcu异常复位检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211168555.8A CN115543670A (zh) | 2022-09-24 | 2022-09-24 | 一种基于看门狗中断的mcu异常复位检测方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115543670A true CN115543670A (zh) | 2022-12-30 |
Family
ID=84730564
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211168555.8A Pending CN115543670A (zh) | 2022-09-24 | 2022-09-24 | 一种基于看门狗中断的mcu异常复位检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115543670A (zh) |
-
2022
- 2022-09-24 CN CN202211168555.8A patent/CN115543670A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6012154A (en) | Method and apparatus for detecting and recovering from computer system malfunction | |
US6438709B2 (en) | Method for recovering from computer system lockup condition | |
EP0664511A2 (en) | Microprocessor fault log | |
JPH1078897A (ja) | コンピュータ・データ記憶システム | |
US7627807B2 (en) | Monitoring a data processor to detect abnormal operation | |
US6516440B1 (en) | Printer and a control method for saving data from volatile to nonvolatile memory in the printer | |
US6263454B1 (en) | Storage system | |
CN106682162A (zh) | 日志管理方法及装置 | |
CN112395122A (zh) | 闪存控制器及闪存控制器的方法 | |
CN109801668B (zh) | 数据储存装置及应用于其上的操作方法 | |
CN115480947A (zh) | 一种内存条故障检测装置及检测方法 | |
US7447943B2 (en) | Handling memory errors in response to adding new memory to a system | |
JP2010204851A (ja) | 記憶装置及び情報処理装置 | |
US11914703B2 (en) | Method and data processing system for detecting a malicious component on an integrated circuit | |
WO1999023562A1 (en) | Automatic backup based on disk drive condition | |
CN115543670A (zh) | 一种基于看门狗中断的mcu异常复位检测方法 | |
CN106528311A (zh) | 嵌入式系统及其控制方法 | |
CN113625957B (zh) | 一种硬盘故障的检测方法、装置及设备 | |
CN114741220B (zh) | 一种磁盘隔离方法、系统、设备及存储介质 | |
CN113127245B (zh) | 一种系统管理中断的处理方法、系统及装置 | |
CN115421960A (zh) | 一种ue内存故障恢复方法、装置、电子设备及介质 | |
CN115292082A (zh) | 一种处理BIOS启动过程中Assert宕机故障的方法及系统 | |
JP2012108848A (ja) | 動作ログ収集システム及びプログラム | |
CN110647455A (zh) | 一种存储设备重启记录方法和系统 | |
CN116431377B (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 |