嵌入式实时操作系统RTX5看门狗思路
假设测试发现,最大的发送事件标志时间间隔是由 Task4产生的,间隔是 6s,我们可以再设置一些时间容限,把看门的复位时间设置为 10s,也就是说,如果四个任务 Task1到 Task4在 10s内给任务 Task5发送事件标志,让 Task5执行喂狗操作,那么系统将复位。 创建 5个用户任务 Task1,Task2,Task3,Task4和 Task5。其中 Task5的优先级最高,然后依次是
多任务检测实现思路:为了保证 RTX的所有用户任务都在正常的执行,我们通过独立看门的形式来监测,一旦发现有某个任务长时间没有执行,看门狗就会将系统复位。
运行条件:
创建 5个用户任务 Task1,Task2,Task3,Task4和 Task5。其中 Task5的优先级最高,然后依次是 Task4,Task3,Task2,Task1。
任务 Task1到 Task4定期发事件标志给任务 Task5,表示任务运行正常。
实现思路:
喂狗程序放在最高优先级的任务 Task5里面,其它的 4个任务都定期的向最高优先级任务发送事件标志,只有四个任务都发来了事件标志才进行喂狗。
看门狗的复位时间设置为多少合适呢,这个要根据四个任务 Task1到 Task4的最大发送事件标志间隔来确定。假设测试发现,最大的发送事件标志时间间隔是由 Task4产生的,间隔是 6s,我们可以再设置一些时间容限,把看门的复位时间设置为 10s,也就是说,如果四个任务 Task1到 Task4在 10s内给任务 Task5发送事件标志,让 Task5执行喂狗操作,那么系统将复位。
推荐在最高优先级任务里面实现喂狗,这样才可以保证其它低优先级任务发来了事件标志后,Task5可以及时的喂狗,如果放在一个低优先级的任务里面,那么当所有的任务任务都已经发送任务运行正常的事件标志,但是此任务在执行喂狗程序前被其它高优先级的任务抢占了造成不能及时喂狗,从而造成系统复位,这种误判断会造成系统不能够正常工作。
openvela 操作系统专为 AIoT 领域量身定制,以轻量化、标准兼容、安全性和高度可扩展性为核心特点。openvela 以其卓越的技术优势,已成为众多物联网设备和 AI 硬件的技术首选,涵盖了智能手表、运动手环、智能音箱、耳机、智能家居设备以及机器人等多个领域。
更多推荐


所有评论(0)