码迷,mamicode.com
首页 > 其他好文 > 详细

FreeRTOS独立看门狗检测任务执行状态

时间:2019-01-14 23:10:12      阅读:263      评论:0      收藏:0      [点我收藏+]

标签:技术   com   推荐   .com   间隔   占用   问题   src   就会   

为了保证FreeRTOS的所有用户任务都在正常的运行,我们通过独立看门狗的形式来检测,一旦发现有某个任务长时间没有执行,看门狗就会将系统复位。

技术分享图片

运行条件:

创建5个用户任务Task1,Task2,Task3,Task4和Task5。其中Task5的优先级最高,然后依次是Task4,Task3,Task2,Task1。

任务Task1到Task4定期发事件标志给任务Task5,表示任务运行正常。

实现思路:

喂狗程序放在最高优先级的任务Task5里面,其他的4个任务都定期的向最高优先级任务发送事件标志,只有四个任务都发来了事件标志才进行喂狗。

看门狗的事件设置多少合适呢?这样根据四个任务的最大发送事件标志间隔来确定。

推荐在最高优先级任务里面实现喂狗,这样才可以保证其他低优先级任务发来了事件标志后,Task5可以及时的喂狗。如果放在一个低优先级的任务里面会存在问题,比如所有的任务都已经发送了表示自己正常运行的事件标志,但是此低优先级任务在执行喂狗程序前被其他高优先级占用了,造成不能及时喂狗,从而导致系统复位,这种判断会使得系统不能够正常工作。

 

FreeRTOS独立看门狗检测任务执行状态

标签:技术   com   推荐   .com   间隔   占用   问题   src   就会   

原文地址:https://www.cnblogs.com/hjhgogo/p/10269323.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!