看门狗喂狗方法技术

技术编号:14866916 阅读:76 留言:0更新日期:2017-03-20 22:50
本发明专利技术公开了一种看门狗喂狗方法,系统配置一个硬件看门狗;硬件看门狗自身的定时时间为t0;系统配置三个任务:Task1喂硬件狗;Task2监控应用的加载、启动及系统的运行,并向Task1发消息;Task3监控应用的运行并向Task2发送消息;在vxWorks系统中,内核初始化多任务环境完成后,才能创建任务,所以在BOOT运行时,无法通过任务实现喂狗,BOOT运行过程中,时间t0内喂狗一次即可。该看门狗喂狗方法在系统重启前能够保证所有运行过程中的重要数据被存储。

【技术实现步骤摘要】

本专利技术涉及电子通信
,具体讲是一种基于Vxworks系统的看门狗喂狗方法
技术介绍
在Vxworks系统平台下,其分为BOOT启动、内核初始化、应用加载、启动、运行几个过程,整个过程的正常启动和运行保证了系统运行的可靠性、稳定性和健壮性。在Vxworks系统的BOOT启动、内核初始化、应用加载、启动和运行的几个过程中,每个过程均会采用一看门狗程序实现复位功能,这样使得其在每一个步骤中若是出现异常,则会通过重启而进行程序恢复。如果在BOOT启动、内核初始化过程中需要重启还不会影响系统正常运行。但是,若是在应用加载、启动和运行这三个过程中出现程序异常而需要重启时,则有可能造成应用加载、启动和运行过程中的一些重要数据由于没有及时存储而丢失,从而造成系统的异常。因此,基于上述原因,亟待需要一种看门狗喂狗方法,该看门狗喂狗方法在系统重启前能够保证所有运行过程中的重要数据被存储,以解决上述问题。
技术实现思路
本专利技术要解决的技术问题是,提供一种看门狗喂狗方法,该看门狗喂狗方法在系统重启前能够保证所有运行过程中的重要数据被存储。本专利技术的技术方案是,提供一种看门狗喂狗方法,包括以下步骤:系统配置一个硬件看门狗;硬件看门狗自身的定时时间为t0;系统配置三个任务:Task1喂硬件狗;Task2监控应用的加载、启动及系统的运行,并向Task1发消息;Task3监控应用的运行并向Task2发送消息;Task1喂硬件狗的时间间隔为t0,t0内无喂狗操作,硬件狗发送复位信号,MCU复位;Task2每隔时间t1给Task1发送消息,Task1在T1未收到Task2的消息,则停止喂硬件狗,其中T1=m*t1,m为常数;Task3每隔时间t2给Task2发送消息,Task2在T2内未收到Task3的消息,则停止向Task1发送消息,其中,T2=k*t2,k为常数;系统设置应用加载最长时间为TL,应用启动最长时间为TS;在vxWorks系统中,内核初始化多任务环境完成后,才能创建任务,所以在BOOT运行时,无法通过任务实现喂狗,BOOT运行过程中,时间t0内喂狗一次即可;流程如下:(1)、BOOT启动,加载内核且同时启动硬件看门狗;(2)、BOOT加载内核过程中,如果时间t0内,硬件看门狗未收到喂狗信号,则复位微处理器并返回步骤(1);(4)、否则,BOOT继续运行,内核加载成功,则执行步骤(5);(5)、内核初始化;(6)、内核初始化过程中,如果时间t0内,硬件看门狗未收到喂狗信号,则复位微处理器并返回步骤(1);(7)、否则,内核继续初始化,当系统多任务环境建立时,创建任务Task1,此后Task1每隔时间t0喂一次硬件狗;(8)、如果硬件看门狗时间t0内未收到任务Task1的喂狗信号,则系统保存重要数据,然后系统复位并返回步骤(1);(9)、否则,判断内核初始化状态,若内核初始化不成功,返回步骤(1);(11)、若内核初始化成功,创建任务Task2,开始加载应用;(11)、时间TL、T1计时开始;(12)、时间TL计时时间到,如果任务Task2检测到应用加载未成功,则停止给Task1发送信号,Task1在T1时间到未检测到Task2的信号,停止喂硬件狗,系统复位并返回步骤(1);(13)、否则,则应用启动且任务Task2每隔时间t1给任务Task1发送一次喂狗信号;(14)、时间TS、T1计时开始;(15)、时间TS计时时间到,如果任务Task2检测到应用启动未成功,则停止给Task1发送信号,Task1在T1时间到未检测到Task2的信号,停止喂硬件狗,系统复位并返回步骤(1);(16)、否则,应用运行且建立任务Task3,Task3每隔t2给Task2发一次信号;(17)、时间T1、T2、t2计时开始;(18)、t2时间到,如果任务Task3检测到应用运行出现异常,则停止给Task2发送信号(19)、否则应用正常,t2计时重新开始;(20)、T2时间到,Task2未收到Task3的信号,则保存重要数据,并停止向Task1发送信号;(21)、否则,应用运行正常,时间T2计时重新开始;(22)、T1时间到,Task1未收到Task2的信号,停止喂硬件狗,系统复位并返回步骤(1);(23)、否则,系统运行正常,时间T1计时开始。采用以上方法后,本专利技术与现有技术相比,具有以下优点:本专利技术看门狗喂狗方法如果Task3发现应用异常或者发现应用其他任务出现异常则停止向Task2发信号,然后先保存重要数据,再系统复位。整个过程中,只有Task1实现喂硬狗功能,应用程序正常Task3向Task2发送喂狗信号,Task2向Task1发送喂狗信号,方法对系统启动、运行的各个环节实现监控,保证系统的启动和运行正常,即使出现异常,在复位前,能实现重要数据的保存,然后再进行重启,从而保证系统的正常运行。附图说明图1是本专利技术看门狗喂狗方法的喂狗示意图。具体实施方式下面结合附图和具体实施例对本专利技术作进一步说明。如图1所示,本专利技术一种看门狗喂狗方法,包括以下步骤:系统配置一个硬件看门狗;硬件看门狗自身的定时时间为t0;系统配置三个任务:Task1喂硬件狗;Task2监控应用的加载、启动及系统的运行,并向Task1发消息;Task3监控应用的运行并向Task2发送消息;Task1喂硬件狗的时间间隔为t0,t0内无喂狗操作,硬件狗发送复位信号,MCU复位;Task2每隔时间t1给Task1发送消息,Task1在T1未收到Task2的消息,则停止喂硬件狗,其中T1=m*t1,m为常数;Task3每隔时间t2给Task2发送消息,Task2在T2内未收到Task3的消息,则停止向Task1发送消息,其中,T2=k*t2,k为常数;系统设置应用加载最长时间为TL,应用启动最长时间为TS;在vxWorks系统中,内核初始化多任务环境完成后,才能创建任务,所以在BOOT运行时,无法通过任务实现喂狗,BOOT运行过程中,时间t0内喂狗一次即可;流程如下:(1)、BOOT启动,加载内核且同时启动硬件看门狗;(2)、BOOT加载内核过程中,如果时间t0内,硬件看门狗未收到喂狗信号,则复位微处理器并返回步骤(1);(4)、否则,BOOT继续运行,内核加载成功,则执行步骤(5);(5)、内核初始化;(6)、内核初始化过程中,如果时间t0内,硬件看门狗未收到喂狗信号,则复位微本文档来自技高网...
看门狗喂狗方法

【技术保护点】
一种看门狗喂狗方法,其特征在于:包括以下步骤:系统配置一个硬件看门狗;硬件看门狗自身的定时时间为t0;系统配置三个任务:Task1喂硬件狗;Task2监控应用的加载、启动及系统的运行,并向Task1发消息;Task3监控应用的运行并向Task2发送消息;Task1喂硬件狗的时间间隔为t0,t0内无喂狗操作,硬件狗发送复位信号,MCU复位;Task2每隔时间t1给Task1发送消息,Task1在T1未收到Task2的消息,则停止喂硬件狗,其中T1=m*t1,m为常数;Task3每隔时间t2给Task2发送消息,Task2在T2内未收到Task3的消息,则停止向Task1发送消息,其中,T2=k*t2,k为常数;系统设置应用加载最长时间为TL,应用启动最长时间为TS;在vxWorks系统中,内核初始化多任务环境完成后,才能创建任务,所以在BOOT运行时,无法通过任务实现喂狗,BOOT运行过程中,时间t0内喂狗一次即可;流程如下:(1)、BOOT启动,加载内核且同时启动硬件看门狗;(2)、BOOT加载内核过程中,如果时间t0内,硬件看门狗未收到喂狗信号,则复位微处理器并返回步骤(1);(4)、否则,BOOT继续运行,内核加载成功,则执行步骤(5);(5)、内核初始化;(6)、内核初始化过程中,如果时间t0内,硬件看门狗未收到喂狗信号,则复位微处理器并返回步骤(1);(7)、否则,内核继续初始化,当系统多任务环境建立时,创建任务Task1,此后Task1每隔时间t0喂一次硬件狗;(8)、如果硬件看门狗时间t0内未收到任务Task1的喂狗信号,则系统保存重要数据,然后系统复位并返回步骤(1);(9)、否则,判断内核初始化状态,若内核初始化不成功,返回步骤(1);(11)、若内核初始化成功,创建任务Task2,开始加载应用;(11)、时间TL、T1计时开始;(12)、时间TL计时时间到,如果任务Task2检测到应用加载未成功,则停止给Task1发送信号,Task1在T1时间到未检测到Task2的信号,停止喂硬件狗,系统复位并返回步骤(1);(13)、否则,则应用启动且任务Task2每隔时间t1给任务Task1发送一次喂狗信号;(14)、时间TS、T1计时开始;(15)、时间TS计时时间到,如果任务Task2检测到应用启动未成功,则停止给Task1发送信号,Task1在T1时间到未检测到Task2的信号,停止喂硬件狗,系统复位并返回步骤(1);(16)、否则,应用运行且建立任务Task3,Task3每隔t2给Task2发一次信号;(17)、时间T1、T2、t2计时开始;(18)、t2时间到,如果任务Task3检测到应用运行出现异常,则停止给Task2发送信号(19)、否则应用正常,t2计时重新开始;(20)、T2时间到,Task2未收到Task3的信号,则保存重要数据,并停止向Task1发送信号;(21)、否则,应用运行正常,时间T2计时重新开始;(22)、T1时间到,Task1未收到Task2的信号,停止喂硬件狗,系统复位并返回步骤(1);(23)、否则,系统运行正常,时间T1计时开始。...

【技术特征摘要】
1.一种看门狗喂狗方法,其特征在于:包括以下步骤:系统配置一个硬件看门狗;
硬件看门狗自身的定时时间为t0;系统配置三个任务:Task1喂硬件狗;Task2监控应用
的加载、启动及系统的运行,并向Task1发消息;Task3监控应用的运行并向Task2发送
消息;
Task1喂硬件狗的时间间隔为t0,t0内无喂狗操作,硬件狗发送复位信号,MCU复位;
Task2每隔时间t1给Task1发送消息,Task1在T1未收到Task2的消息,则停止喂硬件
狗,其中T1=m*t1,m为常数;Task3每隔时间t2给Task2发送消息,Task2在T2内未
收到Task3的消息,则停止向Task1发送消息,其中,T2=k*t2,k为常数;系统设置应用
加载最长时间为TL,应用启动最长时间为TS;
在vxWorks系统中,内核初始化多任务环境完成后,才能创建任务,所以在BOOT运
行时,无法通过任务实现喂狗,BOOT运行过程中,时间t0内喂狗一次即可;流程如下:
(1)、BOOT启动,加载内核且同时启动硬件看门狗;
(2)、BOOT加载内核过程中,如果时间t0内,硬件看门狗未收到喂狗信号,则复位
微处理器并返回步骤(1);
(4)、否则,BOOT继续运行,内核加载成功,则执行步骤(5);
(5)、内核初始化;
(6)、内核初始化过程中,如果时间t0内,硬件看门狗未收到喂狗信号,则复位微
处理器并返回步骤(1);
(7)、否则,内核继续初始化,当系统多任务环境建立时,创建任务Task1,此后Task1
每隔时间t0喂一次硬件狗;
(8)、如果硬件看门狗时间t0内...

【专利技术属性】
技术研发人员:郑坚江袁志民刘杰庄克成
申请(专利权)人:宁波三星医疗电气股份有限公司
类型:发明
国别省市:浙江;33

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

1