FreeRTOS独立看门狗检测任务执行状态
Posted hjhgogo
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了FreeRTOS独立看门狗检测任务执行状态相关的知识,希望对你有一定的参考价值。
为了保证FreeRTOS的所有用户任务都在正常的运行,我们通过独立看门狗的形式来检测,一旦发现有某个任务长时间没有执行,看门狗就会将系统复位。
运行条件:
创建5个用户任务Task1,Task2,Task3,Task4和Task5。其中Task5的优先级最高,然后依次是Task4,Task3,Task2,Task1。
任务Task1到Task4定期发事件标志给任务Task5,表示任务运行正常。
实现思路:
喂狗程序放在最高优先级的任务Task5里面,其他的4个任务都定期的向最高优先级任务发送事件标志,只有四个任务都发来了事件标志才进行喂狗。
看门狗的事件设置多少合适呢?这样根据四个任务的最大发送事件标志间隔来确定。
推荐在最高优先级任务里面实现喂狗,这样才可以保证其他低优先级任务发来了事件标志后,Task5可以及时的喂狗。如果放在一个低优先级的任务里面会存在问题,比如所有的任务都已经发送了表示自己正常运行的事件标志,但是此低优先级任务在执行喂狗程序前被其他高优先级占用了,造成不能及时喂狗,从而导致系统复位,这种判断会使得系统不能够正常工作。
以上是关于FreeRTOS独立看门狗检测任务执行状态的主要内容,如果未能解决你的问题,请参考以下文章