CN104268026B - 嵌入式系统的监控管理方法和装置 - Google Patents
嵌入式系统的监控管理方法和装置 Download PDFInfo
- Publication number
- CN104268026B CN104268026B CN201410470078.XA CN201410470078A CN104268026B CN 104268026 B CN104268026 B CN 104268026B CN 201410470078 A CN201410470078 A CN 201410470078A CN 104268026 B CN104268026 B CN 104268026B
- Authority
- CN
- China
- Prior art keywords
- embedded system
- timer
- situation
- counter
- numerical value
- 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.)
- Active
Links
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种嵌入式系统的监控管理方法和装置,该方法包括:在第一定时器溢出的情况下,检测表示嵌入式系统启动成功的预定指令的接收情况;根据表示嵌入式系统启动成功的预定指令的接收情况,确定嵌入式系统的启动情况;在确定嵌入式系统启动成功的情况下,关闭第一定时器,开启第二定时器;在第二定时器溢出的情况下,检测表示嵌入式系统运行情况的多个预定指令的接收情况;根据表示嵌入式系统运行情况的多个预定指令的接收情况,确定嵌入式系统的运行情况。本发明通过两个定时器来对嵌入式系统的启动情况和运行情况分别进行监控,实现了对嵌入式系统的全程监控,并且,在系统启动阶段无需喂狗,增强了监控的灵活性和可移植性。
Description
技术领域
本发明涉及嵌入式系统领域,具体来说,涉及一种嵌入式系统的管理方法和装置。
背景技术
嵌入式系统的设备在运行过程中往往会出现由于某种漏洞所导致的系统运行异常,例如在设备升级过程中突然断电,那么设备再次上电启动时就会出现由于镜像不完整而造成的启动失败的情况;再如,对于应用层的程序来说,由于在运行过程中的死锁或者其他操作原因同样会导致整个系统的运行异常,而这些系统的异常情况均需要通过借助于一种监控芯片(例如“看门狗”)通过对系统的运行状态进行监控的方式来对异常的系统进行复位。
而对于这种类似与“看门狗”的监控方案目前有以下两种技术方案,一种为使用CPU内部自带的“看门狗”,但是这种自带的“看门狗”的监控方案与“看门狗”的启动和初始化时间密切联系,即,当系统在看门狗初始化或者启动前异常,那么该方法就无法对系统进行复位重启。
而现有的另一种“看门狗”则是通过使用外置“看门狗”的芯片的方式来避免内置“看门狗”所带来的问题,但是这种技术方案需要在系统一上电就必须不断喂狗,而这就必须在Bootloader(其中,BootLoader是在操作系统内核运行之前运行)和内核的各个阶段均添加相应的喂狗代码,而且在系统进行程序升级或者用户端在进行系统的代码调试时,无法禁用“看门狗”,大大降低了系统的灵活性以及可移植性。
针对相关技术中对监控不全面、需要全程喂狗、灵活性和可移植性差的问题,目前尚未提出有效的解决方案。
发明内容
针对相关技术中对监控不全面、需要全程喂狗、灵活性和可移植性差的问题,本发明提出一种嵌入式系统的监控管理方法和装置,能够通过两个定时器来对嵌入式系统的启动情况和运行情况分别进行监控,实现了对嵌入式系统的全程监控,并且,在系统启动阶段无需喂狗,增强了监控的灵活性和可移植性。
本发明的技术方案是这样实现的:
根据本发明的一个方面,提供了一种嵌入式系统的监控管理方法。
该监控管理方法包括:
在第一定时器溢出的情况下,检测表示嵌入式系统启动成功的预定指令的接收情况;
根据表示嵌入式系统启动成功的预定指令的接收情况,确定嵌入式系统的启动情况;
在确定嵌入式系统启动成功的情况下,关闭第一定时器,开启第二定时器;
在第二定时器溢出的情况下,检测表示嵌入式系统运行情况的多个预定指令的接收情况;
根据表示嵌入式系统运行情况的多个预定指令的接收情况,确定嵌入式系统的运行情况。
其中,第一定时器在嵌入式系统启动时启动,且第一定时器的定时阈值大于嵌入式系统的启动成功时间。
优选的,在检测表示嵌入式系统启动成功的预定指令的接收情况时,可通过检测第一计数器的数值的方式来检测,其中,第一计数器用于表示嵌入式系统的启动情况,并且,在第一计时器启动时,第一计数器的数值被预先清零;
并且,在根据检测结果确定第一计数器的数值不为零的情况下,可确定接收到表示嵌入式系统启动成功的预定指令。
此外,在根据表示嵌入式系统启动成功的预定指令的接收情况,来确定嵌入式系统的启动情况时,可在接收到表示嵌入式系统启动成功的预定指令的情况下,来确定嵌入式系统启动成功。
另外,在确定嵌入式系统启动失败的情况下,该监控管理方法进一步包括:
发送系统启动异常信息至所述嵌入式系统;
发送复位信号至所述嵌入式系统;
重启所述第一定时器。
优选的,在检测表示嵌入式系统运行情况的多个预定指令的接收情况时,可通过检测多个第二计数器的数值的方式来检测,其中,多个第二计数器的数值与表示嵌入式系统运行情况的多个预定指令的接收情况一一对应,并且,在第二计时器启动时,多个第二计数器的数值被预先清零;
并且,在根据检测结果确定多个第二计数器中至少之一的第二计数器的数值为零的情况下,可确定没有对表示嵌入式系统运行情况的多个预定指令接收完整;
在根据检测结果确定多个第二计数器的数值均不为零的情况下,可确定对表示嵌入式系统运行情况的多个预定指令接收完整。
另外,在根据表示嵌入式系统运行情况的多个预定指令的接收情况,来确定嵌入式系统的运行情况时,可在没有对表示嵌入式系统运行情况的多个预定指令接收完整的情况下,来确定嵌入式系统运行异常;
并在确定嵌入式系统运行异常的情况下,发送复位信号和/或异常信息至嵌入式系统。
此外,在对表示所述嵌入式系统运行情况的多个预定指令的接收情况检测完成之后,重新启动所述第二定时器。
根据本发明的另一方面,提供了一种嵌入式系统的监控管理装置。
该监控管理装置包括:
第一检测模块,用于在第一定时器溢出的情况下,检测表示嵌入式系统启动成功的预定指令的接收情况;
第一确定模块,用于根据表示嵌入式系统启动成功的预定指令的接收情况,确定嵌入式系统的启动情况;
控制模块,用于在确定嵌入式系统启动成功的情况下,关闭第一定时器,开启第二定时器;
第二检测模块,用于在第二定时器溢出的情况下,检测表示嵌入式系统运行情况的多个预定指令的接收情况;
第二确定模块,用于根据表示嵌入式系统运行情况的多个预定指令的接收情况,确定嵌入式系统的运行情况。
其中,第一定时器在嵌入式系统启动时启动,且第一定时器的定时阈值大于嵌入式系统的启动成功时间。
本发明通过两个定时器来对嵌入式系统的启动情况和运行情况分别进行监控,实现了对嵌入式系统的全程监控,并且,在系统启动阶段无需喂狗,增强了监控的灵活性和可移植性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例的嵌入式系统的监控管理方法的流程图;
图2是根据本发明实施例的Spartan芯片与CPU的连接示意图;
图3是根据本发明实施例的Spartan的监控管理方法的流程图;
图4是根据本发明一具体实施例的嵌入式系统的监控管理方法的流程图;
图5是根据本发明实施例的嵌入式系统的监控管理装置的框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。
根据本发明的实施例,提供了一种嵌入式系统的监控管理方法。
如图1所示,根据本发明实施例的嵌入式系统的监控管理方法包括:
步骤S101,在第一定时器溢出的情况下,检测表示嵌入式系统启动成功的预定指令的接收情况;
步骤S103,根据表示嵌入式系统启动成功的预定指令的接收情况,确定嵌入式系统的启动情况;
步骤S105,在确定嵌入式系统启动成功的情况下,关闭第一定时器,开启第二定时器;
步骤S107,在第二定时器溢出的情况下,检测表示嵌入式系统运行情况的多个预定指令的接收情况;
步骤S109,根据表示嵌入式系统运行情况的多个预定指令的接收情况,确定嵌入式系统的运行情况。
通过本发明的上述方案,能够实现对嵌入式系统的全程监控,并且,在系统启动阶段无需喂狗,增强了监控的灵活性和可移植性。
为了更好的理解本发明的上述技术方案,下面结合一具体实施例对本发明的上述技术方案进行详细阐述。
在本实施例中,采用了Spartan-3AN系列的FPGA(一种可编程芯片)来实现对嵌入式系统的监控管理,下面以Spartan来表示本芯片。
在通过Spartan对嵌入式操作系统进行监控时,Spartan与嵌入式操作系统的CPU之间可通过如图2所示的I2C总线、GPIO通道、复位信号线分别进行通信。
具体的,参照如图3所示的Spartan内部模块与CPU之间的交互流程图,其中,在Spartan的内部模块中包括了I2C控制器、保活模块、复位模块、动态关闭/打开或设置保活模块,而Spartan的极大内部模块与CPU之间通过I2C总线、GPIO通道、复位信号线分别进行通信。
其中,在Spartan和CPU之间可通过I2C总线来建立I2C通道,在I2C通道中CPU可定期向Spartan发送预定指令(这里为心跳指令,即,Spartan可根据该预定指令(即,约定指令)来确定CPU启动或运行状态正常);
此外,Spartan和CPU之间还可通过多个GPIO引脚来建立多个GPIO通道,其中,各个GPIO引脚的状态与嵌入式系统的启动情况、以及每个进程(应用程序)的运行状况分别相对应,在实际应用时,Spartan可将系统复位重启的原因和/或系统运行过程中存在的程序异常信息以改变相应的GPIO引脚的状态的方式将异常信息记录并告知CPU,实现Spartan和CPU之间的状态的交互。
另外,Spartan和CPU之间还可通过复位信号线建立独立的复位通道,从而实现Spartan向CPU发送复位信号,实现对CPU的复位;
从图3中可以看出,Spartan通过I2C控制器接收来自CPU的心跳指令,并将心跳指令发送至保活模块,而保活模块如果没有接收到心跳指令将向复位模块发出复位操作的指令,而复位模块在接收到了复位操作的指令后,将会向CPU发送复位信号和/或以改变相应的GPIO引脚的状态的方式来将造成系统复位的原因告知CPU。
此外,为了使Spartan对CPU的监控更加灵活,CPU在bootloader阶段(即系统启动阶段)或者系统启动后(即,系统运行阶段)均可以通过I2C通道向I2C控制器发送控制命令的方式来对CPU的监控进行灵活控制,具体的,I2C控制器可根据用户的控制命令对Spartan中的动态关闭/打开或设置保活模块进行控制,例如,当在bootloader进行程序升级或者用户态进行代码调试时,用户通过I2C通道向Spartan发送停止监控CPU的指令,那么I2C控制器就可以根据用户的指令控制Spartan中的动态关闭/打开或设置保活模块发出关闭保活模块的指令,从而停止对CPU的监控,也就是说,用户可以通过I2C通道向Spartan下发打开或关闭保活模块的命令,还可以对保活模块进行自定义的配置,当Spartan接收到相应指令后,就可以进行相应的处理,实现本芯片看门狗功能的动态配置,进而增强了对嵌入式系统全程监控的灵活性和用户体验感。
其中,对于图3所示的保活模块(又叫看门狗模块)的具体实现流程可以参照图4,从图4中可以看出,在看门狗模块中设置了两个看门狗定时器,即第一定时器和第二定时器(这里为定时器A和定时器B),并且,两个定时器都有定时阈值。
其中,定时器A对应着一个计数器TA,用于接收表示嵌入式操作系统启动成功的心跳指令,当TA接收到了心跳指令,其就会自动加一,那么定时器A就可通过检测计数器TA的数值来确定心跳指令的接收情况,但是,值得注意的是,在本发明的技术方案中,在CPU启动阶段,Spartan并不进行喂狗操作,即在CPU启动阶段,Spartan并不接收来自CPU的心跳指令,而CPU也是在启动完成后才会发送表示嵌入式系统启动成功的心跳指令至Spartan,因此,本发明避免了现有的看门狗芯片中所存在的系统一上电就开始喂狗(接收心跳指令)的问题,从而无需在系统的bootloader和内核的各个阶段均添加相应的喂狗代码的操作,提高了监控系统的灵活性和可移植性。
而定时器B则对应着多个计数器TBn(TB1、TB2…TBn),用于接收用户态不同的进程(应用程序)通过I2C通道定期发送的心跳指令,用于表示不同的进程在不同的运行阶段是否正常,从而实现在嵌入式系统运行阶段对多个运行的应用程序的监控。
具体的,从图4中可以看出,当保活功能启动后,定时器A也会被清零并在嵌入式系统启动时同步启动,并且,为了确保CPU操作系统(即嵌入式系统)能够完全启动,定时器A的定时阈值大于嵌入式系统的启动成功时间(这里可以称为系统的正常启动时间)。
那么当在定时器A溢出时,Spartan就可检测表示嵌入式系统启动成功的预定指令的接收情况,并根据表示嵌入式系统启动成功的预定指令的接收情况,来确定嵌入式系统的启动情况。
其中,在检测表示嵌入式系统启动成功的预定指令的接收情况时,就可通过检测计数器TA的数值的方式来检测(即,检测计数器TA是否有心跳计数),具体的,由于定时器A的定时阈值(例如5min)大于系统正常启动的时间(例如3min),那么,当定时器A溢出时,如果系统启动正常,在系统启动成功后到定时器A溢出之前,计数器TA必然是能够在2min内接收到来自CPU的心跳指令的,即计数器TA是存在数值;而如果系统启动异常,那么,即便超过了2min,计数器TA也是无法接收到心跳指令的,此时,计数器TA必然是没有数值的,也就是说,计数器TA可以用于表示嵌入式系统的启动情况,并且,值得注意的是,在计时器A启动时,计数器TA的数值也会被预先清零,而这可以避免系统上次启动成功时的计数对本次的系统启动监控产生干扰或影响。
那么Spartan通过检测计数器TA的数值,在根据检测结果确定计数器TA的数值为零的情况下,就可确定Spartan未接收到表示嵌入式系统启动成功的预定指令(即,表示系统启动成功的心跳指令)。
那么在确定嵌入式系统启动失败的情况下,根据本发明实施例的监控管理方法进一步包括:由图3所示的复位模块产生复位信号发送至嵌入式系统(这里为CPU);而由于此次发送的复位信号是由于系统启动异常所引起的,因此,Spartan还可发送系统启动异常信息至CPU,这里则是通过将对应启动阶段的GPIO引脚置为高电平(其中,默认情况下为低电平)来标识此次系统重启是由于CPU启动阶段异常所导致的;并重启定时器A,即清零启动定时器A,对复位的CPU继续进行启动阶段的监控。
而当CPU正常启动后,CPU就可以读取所有GPIO引脚的状态(高电平、低电平),并根据读取到的内容来查表,从而确定造成系统重启的异常原因(而这里则是系统启动异常所导致的系统复位),并将造成系统复位的原因写入日志文件中。
那么当Spartan通过检测计数器TA的数值,在根据检测结果确定计数器TA的数值不为零的情况下,就可确定接收到表示嵌入式系统启动成功的预定指令(即,表示系统启动成功的心跳指令),那么就可确定CPU启动成功,而在确定CPU启动成功的情况下,就可关闭定时器A,并清零定时器B、启动定时器B,从而对CPU的运行阶段进行监控。
那么当定时器B溢出时,Spartan就可检测表示嵌入式系统运行情况的多个预定指令的接收情况,并根据表示嵌入式系统运行情况的多个预定指令的接收情况,来确定嵌入式系统的运行情况。
其中,在检测表示嵌入式系统运行情况的多个预定指令的接收情况时,就可通过检测多个第二计数器(这里为TBn)的数值的方式来检测(即,检测每个计数器TB是否有心跳计数),具体的,在系统运行过程中,每个运行的应用程序都会定期向与之对应的计数器TB发送心跳指令,如果计数器TB接收到了心跳指令,则将数值自动加1,也就是说,如果CPU中的进程运行正常,与之相对应的计数器TB中必然是存在数值的;而如果该进程运行异常,那么与之相对应的计数器TB也是无法接收到心跳指令的,也就是说,该计数器TB必然是没有数值的,也就是说,多个计数器TB可以用于表示嵌入式系统运行情况的多个预定指令的接收情况,并且,多个计数器TB的数值与表示嵌入式系统运行情况的多个预定指令的接收情况是一一对应的,即一个计数器TB接收CPU中一种进程的心跳指令,也就是说,一个计数器TB用于监控CPU中与之对应的一个进程的运行情况,并且计数器TB与CPU的进程是一一对应的,从而实现对嵌入式系统运行的全面监控,不漏掉任何一个进程,但是,值得注意的是,在计时器B启动时,每个计数器TB的数值均会被预先清零,而这可以避免系统上次启动成功时的计数对本次的系统启动监控产生干扰或影响。
具体的,如图4所示,在定时器B溢出后,Spartan会轮询所有的计数器TB,以检测其是否存在数值,如果其存在数值,则表明该计数器TB接收到了与之对应的进程的心跳指令,即该进程运行正常;
那么Spartan将继续检测下一个计数器TB的数值,而如果通过检测发现该计数器TB数值为零,那么Spartan将判断该计数器TB所对应的进程是否为CPU运行过程中的关键进程,而如果其为关键进程,则向复位模块发出复位操作的指令,使其产生复位信号,并将复位信号发送至CPU,使CPU重启,同时Spartan还可发送异常信息至CPU,这里则是通过将对应该关键进程的GPIO引脚置为高电平(其中,默认情况下为低电平)来标识此次系统重启是由于该关键进程运行异常所导致的,并将定时器B关闭,停止对CPU运行阶段的监控;
而如果通过检测发现数值为零的计数器TB所对应的进程并非是CPU的关键进程,那么Spartan则无需发送复位信号至CPU,只需将对应该进程的GPIO引脚拉高(其中,默认情况下为低电平)来标识在此次系统运行阶段该进程出现异常,那么CPU就可以通过读取GPIO引脚的状态并通过查表来确定该进程在运行过程中存在哪些异常,然后,CPU的主进程就可以通过注册GPIO中断处理函数来对该进程进行异常处理。
虽然,当异常的进程为非关键进程的情况下,Spartan不会向CPU发送复位信号,但是,在通过检测确定多个计数器TB中至少有一个计数器TB的数值为零的情况下,就可确定没有对表示嵌入式系统运行情况的多个预定指令接收完整;并且,在没有对表示嵌入式系统运行情况的多个预定指令接收完整的情况下,就可确定嵌入式系统运行异常;并在确定嵌入式系统运行异常的情况下,就可发送复位信号和/或异常信息至嵌入式系统。
另外,在一个实施例中,在根据检测结果确定多个第二计数器的数值均不为零的情况下,可确定对表示嵌入式系统运行情况的多个预定指令接收完整。
此外,在另一个实施例中,在根据表示嵌入式系统中多个进程的多个预定指令的接收情况,来确定嵌入式系统的运行情况时,就可在对表示嵌入式系统运行情况的多个预定指令接收完整的情况下,来确定嵌入式系统运行正常;
那么,通过以上流程Spartan对所有的计数器TB都检测完成后,即在对表示嵌入式系统运行情况的多个预定指令的接收情况检测完成之后,就可重新启动、清零定时器B,当然也需要将所有的计数器TB清零,从而开始下一次的计数器轮询检测,从而监控嵌入式系统中各个程序的运行情况。
但是应当注意的是,在本实施例中,一个定时器B是对应着多个计数器TB,但是在实际应用中,也可以扩展到多个定时器B1…Bn各自对应着计数器TB1…TBn,本发明对此不作限定。
另外,在实际应用中,对于看门狗模块的启停,用户可以通过控制命令在系统启动或运行的任意阶段控制看门狗模块的启停(例如程序调试阶段等),从而增强看门狗的灵活性;而对于定时器A的时间阈值可根据系统正常启动的时间来确定,而定时器B的定时阈值则可根据系统运行过程中多个进程的运行状况而灵活设定。
根据本发明的实施例,还提供了一种嵌入式系统的监控管理装置。
如图5所示,根据本发明实施例的嵌入式系统的监控管理装置包括:
第一检测模块51,用于在第一定时器溢出的情况下,检测表示嵌入式系统启动成功的预定指令的接收情况;
第一确定模块52,用于根据表示嵌入式系统启动成功的预定指令的接收情况,确定嵌入式系统的启动情况;
控制模块53,用于在确定嵌入式系统启动成功的情况下,关闭第一定时器,开启第二定时器;
第二检测模块54,用于在第二定时器溢出的情况下,检测表示嵌入式系统运行情况的多个预定指令的接收情况;
第二确定模块55,用于根据表示嵌入式系统运行情况的多个预定指令的接收情况,确定嵌入式系统的运行情况。
其中,第一定时器在嵌入式系统启动时启动,且第一定时器的定时阈值大于嵌入式系统的启动成功时间。
综上所述,借助于本发明的上述技术方案,通过两个定时器来对嵌入式系统的启动阶段和运行阶段分别进行监控,实现了对嵌入式系统的全程监控;另外,在系统启动阶段无需喂狗,只需在系统启动后,在用户态执行喂狗操作,增强了监控系统的可移植性;此外,在嵌入式系统的启动或运行阶段均可随时根据用户需要随时关闭看门狗功能(停止接收心跳指令),提高了看门狗功能的灵活性;另外,本发明可以根据用户需要对看门狗模块进行动态配置,使看门狗模块与嵌入式系统的启动、运行相匹配,从而增强了监控系统的灵活性和可塑性;此外,本发明还可通过GPIO通道将系统重启的原因等信息记录下来并告知CPU,避免了当操作系统挂掉时直接重启CPU所导致的用户无法得知造成系统重启的原因;此外,第二定时器可以监控系统运行阶段的多个进程,如果异常的是关键进程则进行系统重启,而如果仅仅是非关键进程,则可向CPU发送GPIO中断信号,使得对系统运行阶段的监控更加灵活。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (6)
1.一种嵌入式系统的监控管理方法,其特征在于,包括:
在第一定时器溢出的情况下,检测表示所述嵌入式系统启动成功的预定指令的接收情况;
根据表示所述嵌入式系统启动成功的预定指令的接收情况,确定所述嵌入式系统的启动情况;
在确定所述嵌入式系统启动成功的情况下,关闭所述第一定时器,开启第二定时器;
在所述第二定时器溢出的情况下,检测表示所述嵌入式系统运行情况的多个预定指令的接收情况;
根据表示所述嵌入式系统运行情况的多个预定指令的接收情况,确定所述嵌入式系统的运行情况;
其中,检测表示所述嵌入式系统启动成功的预定指令的接收情况包括:
检测第一计数器的数值,其中,所述第一计数器用于表示所述嵌入式系统的启动情况,并且,在第一计时器启动时,所述第一计数器的数值被预先清零;
在根据检测结果确定所述第一计数器的数值不为零的情况下,确定接收到表示所述嵌入式系统启动成功的预定指令;
检测表示所述嵌入式系统运行情况的多个预定指令的接收情况包括:
检测多个第二计数器的数值,其中,所述多个第二计数器的数值与表示所述嵌入式系统运行情况的多个预定指令的接收情况一一对应,并且,在第二计时器启动时,所述多个第二计数器的数值被预先清零;
在根据检测结果确定所述多个第二计数器中至少之一的第二计数器的数值为零的情况下,确定没有对表示所述嵌入式系统运行情况的多个预定指令接收完整;
在根据检测结果确定所述多个第二计数器的数值均不为零的情况下,确定对表示所述嵌入式系统运行情况的多个预定指令接收完整;
根据表示所述嵌入式系统运行情况的多个预定指令的接收情况,确定所述嵌入式系统的运行情况包括:
在没有对表示所述嵌入式系统运行情况的多个预定指令接收完整的情况下,确定所述嵌入式系统运行异常;
在确定所述嵌入式系统运行异常的情况下,发送复位信号和/或异常信息至所述嵌入式系统;
在对表示所述嵌入式系统运行情况的多个预定指令的接收情况检测完成之后,重新启动所述第二定时器。
2.根据权利要求1所述的监控管理方法,其特征在于,所述第一定时器在所述嵌入式系统启动时启动,且所述第一定时器的定时阈值大于所述嵌入式系统的启动成功时间。
3.根据权利要求1所述的监控管理方法,其特征在于,根据表示所述嵌入式系统启动成功的预定指令的接收情况,确定所述嵌入式系统的启动情况包括:
在接收到表示所述嵌入式系统启动成功的预定指令的情况下,确定所述嵌入式系统启动成功。
4.根据权利要求1所述的监控管理方法,其特征在于,在确定所述嵌入式系统启动失败的情况下,所述监控管理方法进一步包括:
发送系统启动异常信息至所述嵌入式系统;
发送复位信号至所述嵌入式系统;
重启所述第一定时器。
5.一种嵌入式系统的监控管理装置,包括:
第一检测模块,用于在第一定时器溢出的情况下,检测表示所述嵌入式系统启动成功的预定指令的接收情况;
第一确定模块,用于根据表示所述嵌入式系统启动成功的预定指令的接收情况,确定所述嵌入式系统的启动情况;
控制模块,用于在确定所述嵌入式系统启动成功的情况下,关闭所述第一定时器,开启第二定时器;
第二检测模块,用于在所述第二定时器溢出的情况下,检测表示所述嵌入式系统运行情况的多个预定指令的接收情况;
第二确定模块,用于根据表示所述嵌入式系统运行情况的多个预定指令的接收情况,确定所述嵌入式系统的运行情况;
其中,所述第一检测模块包括:
检测数值模块,用于检测第一计数器的数值,其中,所述第一计数器用于表示所述嵌入式系统的启动情况,并且,在第一计时器启动时,所述第一计数器的数值被预先清零;
第三确定模块,用于在根据检测结果确定所述第一计数器的数值不为零的情况下,确定接收到表示所述嵌入式系统启动成功的预定指令;
所述第二检测模块包括:
第二检测数值模块,用于检测多个第二计数器的数值,其中,所述多个第二计数器的数值与表示所述嵌入式系统运行情况的多个预定指令的接收情况一一对应,并且,在第二计时器启动时,所述多个第二计数器的数值被预先清零;
第四确定模块,用于在根据检测结果确定所述多个第二计数器中至少之一的第二计数器的数值为零的情况下,确定没有对表示所述嵌入式系统运行情况的多个预定指令接收完整;
第五确定模块,用于在根据检测结果确定所述多个第二计数器的数值均不为零的情况下,确定对表示所述嵌入式系统运行情况的多个预定指令接收完整;
所述第二确定模块包括:
第六确定模块,用于在没有对表示所述嵌入式系统运行情况的多个预定指令接收完整的情况下,确定所述嵌入式系统运行异常;
发送模块,用于在确定所述嵌入式系统运行异常的情况下,发送复位信号和/或异常信息至所述嵌入式系统;
重新启动模块,用于在对表示所述嵌入式系统运行情况的多个预定指令的接收情况检测完成之后,重新启动所述第二定时器。
6.根据权利要求5所述的监控管理装置,其特征在于,所述第一定时器在所述嵌入式系统启动时启动,且所述第一定时器的定时阈值大于所述嵌入式系统的启动成功时间。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410470078.XA CN104268026B (zh) | 2014-09-15 | 2014-09-15 | 嵌入式系统的监控管理方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410470078.XA CN104268026B (zh) | 2014-09-15 | 2014-09-15 | 嵌入式系统的监控管理方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104268026A CN104268026A (zh) | 2015-01-07 |
CN104268026B true CN104268026B (zh) | 2018-06-26 |
Family
ID=52159550
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410470078.XA Active CN104268026B (zh) | 2014-09-15 | 2014-09-15 | 嵌入式系统的监控管理方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104268026B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9612893B2 (en) * | 2015-05-11 | 2017-04-04 | Silicon Laboratories Inc. | Peripheral watchdog timer |
CN106776096B (zh) * | 2016-12-27 | 2019-12-06 | 兴唐通信科技有限公司 | 一种嵌入式软件出错的可靠恢复方法 |
CN111857846A (zh) * | 2020-06-22 | 2020-10-30 | 珠海格力电器股份有限公司 | 嵌入式系统控制方法、装置、存储介质及嵌入式控制器 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1567208A (zh) * | 2003-06-14 | 2005-01-19 | 中兴通讯股份有限公司 | 一种使用多个启动程序存储器的处理器系统及方法 |
CN101174221A (zh) * | 2006-11-03 | 2008-05-07 | 兆宏电子股份有限公司 | 以闪速存储器存储开机码的电子系统及开机方法 |
CN102253890A (zh) * | 2011-08-16 | 2011-11-23 | 北京汉邦高科数字技术有限公司 | 一种嵌入式调试方法 |
CN103514057A (zh) * | 2012-06-26 | 2014-01-15 | 京信通信技术(广州)有限公司 | 一种linux系统自愈方法、装置及自愈系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005341705A (ja) * | 2004-05-27 | 2005-12-08 | Meidensha Corp | 停電時間監視装置 |
-
2014
- 2014-09-15 CN CN201410470078.XA patent/CN104268026B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1567208A (zh) * | 2003-06-14 | 2005-01-19 | 中兴通讯股份有限公司 | 一种使用多个启动程序存储器的处理器系统及方法 |
CN101174221A (zh) * | 2006-11-03 | 2008-05-07 | 兆宏电子股份有限公司 | 以闪速存储器存储开机码的电子系统及开机方法 |
CN102253890A (zh) * | 2011-08-16 | 2011-11-23 | 北京汉邦高科数字技术有限公司 | 一种嵌入式调试方法 |
CN103514057A (zh) * | 2012-06-26 | 2014-01-15 | 京信通信技术(广州)有限公司 | 一种linux系统自愈方法、装置及自愈系统 |
Also Published As
Publication number | Publication date |
---|---|
CN104268026A (zh) | 2015-01-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106055438B (zh) | 一种快速定位主板上内存条异常的方法及系统 | |
WO2017063505A1 (zh) | 一种服务器硬件故障检测方法及其装置和服务器 | |
EP2626790A1 (en) | Fault monitoring device, fault monitoring method and program | |
US8549277B2 (en) | Server system including diplexer | |
CN111273923B (zh) | 基于PCIe接口的FPGA升级方法 | |
CN110445638B (zh) | 一种交换机系统故障保护方法及装置 | |
CN104268026B (zh) | 嵌入式系统的监控管理方法和装置 | |
US11048570B2 (en) | Techniques of monitoring and updating system component health status | |
EP3167371B1 (en) | A method for diagnosing power supply failure in a wireless communication device | |
JP6130520B2 (ja) | 多重系システムおよび多重系システム管理方法 | |
EP2360594A1 (en) | Information processing apparatus, processing unit switching method, and processing unit switching program | |
CN109976886B (zh) | 内核远程切换方法及装置 | |
JP4886558B2 (ja) | 情報処理装置 | |
EP3358467A1 (en) | Fault processing method, computer system, baseboard management controller and system | |
CN106874126A (zh) | 一种软件开发中主进程异常检测方法 | |
EP3534259A1 (en) | Computer and method for storing state and event log relevant for fault diagnosis | |
CN116737471B (zh) | Bios自动切换方法、装置、电子设备及存储介质 | |
CN106411643B (zh) | Bmc检测方法以及装置 | |
US10572435B2 (en) | Techniques of accessing serial console of BMC using host serial port | |
US20070011487A1 (en) | Method and infrastructure for recognition of the resources of a defective hardware unit | |
CN110365538B (zh) | 端口状态控制方法、装置、设备及计算机可读存储介质 | |
US10083138B2 (en) | Controller, bus circuit, control method, and recording medium | |
JP4715552B2 (ja) | 障害検出方式 | |
US20190332506A1 (en) | Controller and function testing method | |
JP2017016319A (ja) | 多重化データ処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20220727 Address after: 100089 building 36, courtyard 8, Dongbeiwang West Road, Haidian District, Beijing Patentee after: Dawning Information Industry (Beijing) Co.,Ltd. Patentee after: DAWNING INFORMATION INDUSTRY Co.,Ltd. Address before: 100193 No. 36 Building, No. 8 Hospital, Wangxi Road, Haidian District, Beijing Patentee before: Dawning Information Industry (Beijing) Co.,Ltd. |
|
TR01 | Transfer of patent right |