一种基于看门狗中断的MCU异常复位检测方法技术

技术编号:36187357 阅读:17 留言:0更新日期:2022-12-31 20:54
本发明专利技术涉及系统异常检测相关领域,尤其涉及一种基于看门狗中断的MCU异常复位检测方法,具体包括以下步骤:S1在看门狗中断机制触发后,保存实时的系统环境信息;S2在异常重启后,读取RSTSR,判断系统异常原因;S3如果为看门狗超时,则读取保存的异常时刻系统环境信息,即可帮助诊断出系统异常原因。本发明专利技术在看门狗中断机制触发后,可将实时系统环境信息保存到外部Flash中后再进行复位,再通过读取RSTSR,快速判断系统异常原因,如果为看门狗超时,则可通过读取外部Flash中保存的异常时刻系统环境信息,从而对MCU异常复位进行检测,帮助诊断系统异常原因。助诊断系统异常原因。助诊断系统异常原因。

【技术实现步骤摘要】
一种基于看门狗中断的MCU异常复位检测方法


[0001]本专利技术涉及系统异常检测相关领域,尤其涉及一种基于看门狗中断的MCU异常复位检测方法。

技术介绍

[0002]看门狗是一种持续监控系统运行,在系统异常时进行复位的机制,看门狗的核心是看门狗定时器,看门狗定时器实际上是一个计数器,一般给看门狗定时器一个阈值,程序开始运行后,看门狗开始倒计数;如果系统程序运行正常,过一段时间就会收到一个刷新信号,让看门狗中的定时器刷新计数值后重新开始计数(此动作称为喂狗)如附图5中左图所示。
[0003]程序在开发阶段,系统可能因为程序潜在错误和环境干扰等因素导致系统死机,从而影响系统的正常运行,而实际工程开发中,大部分的复位都来自看门狗超时引发的异常复位,因此,亟需提供一种基于看门狗中断的MCU异常复位检测方法,以解决上述问题。

技术实现思路

[0004]为了解决上述技术问题,本专利技术提供一种基于看门狗中断的MCU异常复位检测方法,通过MCU的看门狗中断机制与RSTSR,实现复位异常信息记录。
[0005]为了实现上述目的,本专利技术采取以下技术方案:一种基于看门狗中断的MCU异常复位检测方法,具体包括以下步骤:
[0006]S1在看门狗中断机制触发后,保存实时的系统环境信息;
[0007]S2在异常重启后,读取RSTSR,判断系统异常原因;
[0008]S3如果为看门狗超时,则读取保存的异常时刻系统环境信息,即可帮助诊断出系统异常原因。
[0009]优选的,步骤S1中系统环境信息存入外部Flash。
[0010]优选的,系统环境信息包括PSR数据、PC指针、LR数据、内核通用寄存器状态等。
[0011]优选的,看门狗中断机制触发具体包括以下步骤:
[0012]S11在系统正常运行时会一定时间内刷新看门狗定时器值,使得定时器不会溢出;
[0013]S12当定时器溢出时,进入看门狗中断机制进入中断;
[0014]S13在S12步骤中进入看门狗中断机制触发即表明系统异常,随即进行异常信息保存,并进行系统复位。
[0015]本专利技术的有益效果:
[0016]本专利技术通过在看门狗中断机制触发后,可将实时系统环境信息保存到外部Flash中后再进行复位,再通过读取RSTSR,快速判断系统异常原因,如果为看门狗超时,则可通过读取外部Flash中保存的异常时刻系统环境信息,从而对MCU异常复位进行检测,帮助诊断系统异常原因。
附图说明
[0017]图1是本专利技术异常复位检测方法流程图;
[0018]图2是本专利技术看门狗中断机制流程图;
[0019]图3是本专利技术内核寄存器存储示意图;
[0020]图4是本专利技术RSTSR存储示意图;
[0021]图5是本专利技术系统正常运行和异常运行对比流程图。
具体实施方式
[0022]为了进一步解释本专利技术的技术方案,下面通过具体实施例进行详细阐述。
[0023]如图1

图5所示,本专利技术提供一种基于看门狗中断的MCU异常复位检测方法,具体包括以下步骤:
[0024]S1在门狗中断机制触发后,保存实时的系统环境信息,该系统环境信息存入外部Flash,其中,该系统环境信息包括PSR数据、PC指针、LR数据、内核通用寄存器状态等。
[0025]需要说明的是,用于存储系统环境信息介质的不仅限于Flash,也可选用其他存储介质;
[0026]S2在正常开机时,在系统初始化中会检查RSTSR,如果为正常上电复位则直接进入后续的正常业务流程;
[0027]S3而在异常重启后,读取RSTSR,则可判断系统异常原因;
[0028]S4如果为看门狗超时,则读取保存的异常时刻系统环境信息,即可帮助诊断出系统异常原因,并通过串口打印到终端。
[0029]需要说明的是,本实施例中的RSTSR(Reset Status Register):复位状态寄存器;
[0030]PSR(Program Status Register):程序状态寄存器;
[0031]PC(Program Counter):程序计数器;
[0032]LR(Link Register):链接寄存器。
[0033]如图2和图5所示,看门狗中断机制触发具体包括以下步骤:
[0034]S11在系统正常运行时会一定时间内刷新看门狗定时器值,使得定时器不会溢出;
[0035]S12当定时器溢出时,进入看门狗中断机制进行中断;
[0036]S13在S12步骤中进入看门狗中断机制触发即表明系统异常,随即进行异常信息保存,并进行系统复位。
[0037]其中,看门狗中断机制会读取MCU内核寄存器的内核信息,写入异常日志到外部的Flash内。
[0038]本专利技术提供一种基于看门狗中断的MCU异常复位检测方法,通过在看门狗中断机制触发后,可将实时系统环境信息保存到外部Flash中后再进行复位,再通过读取RSTSR,快速判断系统异常原因,如果为看门狗超时,则可通过读取外部Flash中保存的异常时刻系统环境信息,从而对MCU异常复位进行检测,帮助诊断系统异常原因。
[0039]以上所述仅为本专利技术的优选实例而已,并不用于限制本专利技术,尽管参照前述实施例对本专利技术进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本专利技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本专利技术的保护范围之内。
本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于看门狗中断的MCU异常复位检测方法,具体包括以下步骤:S1在看门狗中断机制触发后,保存实时的系统环境信息;S2在异常重启后,读取RSTSR,判断系统异常原因;S3如果为看门狗超时,则读取外部FLASH保存的异常时刻系统环境信息,即可帮助诊断出系统异常原因。2.根据权利要求1所述一种基于看门狗中断的MCU异常复位检测方法,其特征在于:所述步骤S1中系统环境信息存入外部Flash。3.根据权利要求2所述一种基于看门狗中断的MCU异常复位...

【专利技术属性】
技术研发人员:李昊斌陈建明
申请(专利权)人:福建北峰通信科技股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1