微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > uC/OS-II 系统的多任务看门狗设计

uC/OS-II 系统的多任务看门狗设计

时间:10-03 来源:3721RD 点击:

多任务看门狗通过检查各应用任务是否在规定的时间内对其"喂软狗"来监测各任务的运行状态。借助微处理器的定时器中断机制, 为每个任务分配计时单元和运行标志, 由定时中断依据运行标志状态进行独立计时。当系统中的某任务空闲时, 以小于"喂软狗"设定的时间间隔为周期, 周期性地"喂软狗"; 在该任务执行时,预计执行所需的最长耗时, 并用稍大于该最大耗时的时间间隔设置监视器中定时器参数, 同时中断周期性"喂软狗"模块, 启动监视器任务中的定时器倒计数。当该任务正常执行完毕时, 发送信号"喂软狗",对定时器清零, 复位该任务, 同时恢复周期性"喂软狗"模块; 当该任务执行出现异常时, 不能在设定的时间间隔内对软件看门狗清零, 使得监视器中相应的定时器溢出,监视器任务通过内核服务发送指令, 把该任务的堆栈地址指到其起始地址, 重启该任务, 同时累计其复位次数, 把该任务的计时器清零。

4 结语

结合LPC2132 内置硬件看门狗和uC/O S - Ⅱ操作系统, 设计了一种能够实现多任务管理的软件看门狗, 该看门狗不但能够有效地监视各应用任务, 也能够在不影响其他任务正常运行的情况下, 重启该任务, 直至在多次重启无效时, 才重启系统,达到了相互独立的应用任务之间不会过于牵制的目的。另外该看门狗也能在主程序和硬件出问题时自动重启, 确保系统长时间稳定运行。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top