RTOS 系统篇-看门狗 WatchDog[不喂狗就咬你]

RTOS 系统篇-看门狗 WatchDog[不喂狗就咬你]

概述

程序设计完成后,要开始考虑系统整体的稳定性了。
在设备上线后,可能因为程序设计不合理、硬件设计有 bug,电气干扰、静电噪声、电源故障等原因,造成设备进入死循环、跑飞、死机等问题。这个时候,就需要一个监控系统是否正常的角色来发现系统异常了。
如前所述,RTOS 是一个多任务操作系统。但是一个设备的 CPU 资源是有限的,如何保证多个任务都能有机会申请到 CPU 的使用权是系统程序设计的关键。一些重要的任务,如前述指出的 idle task,必须在规定的时间内获取到 CPU 的使用权,否则依赖于 idle task 的内存回收等功能将无法得到执行,对设备的稳定性造成严重的威胁。看门狗机制就是保证关键任务定期获得执行的一种机制。

看门狗(Watchdog),本质上是一个需要定时复位的定时器,一旦未及时复位,就会触发超时,这种超时通常会引起系统复位。实现上,当某对象添加到看门狗后,就相当于初始化了一个计数定时器,在计数减小到小于 0 之前,该对象必须至少重置一次字数值,否则待计数值减小到 0,就会触发看门狗。

在这里插入图片描述

在ESP32中,看门狗有两种:任务看门狗,中断看门狗。他们的原理和机制类似,

猜你喜欢

转载自blog.csdn.net/wangyx1234/article/details/129033543