多任务看门狗监控原理和实现.doc
《多任务看门狗监控原理和实现.doc》由会员分享,可在线阅读,更多相关《多任务看门狗监控原理和实现.doc(3页珍藏版)》请在三一文库上搜索。
1、多任务看门狗监控原理和实现在嵌入式系统中为提高微型机系统的可靠性和安全性, 常用的方法就是使用看门狗。看门狗分硬件看门狗和软件看门狗。硬件看门狗采用看门狗电路, 通过定时器, 对微型机任务即喂狗在运行时间上加以约束, 任务必须在最大指定时间范围内完成, 否则重启系统。软件看门狗采用处理器内部定时器, 把任务的理论最大运行时间作为时间约束, 如果该任务超过了这个时间跨度, 则强制退出本次任务。上述看门狗采用的是单任务的顺序机制, 容易实现。在多任务系统中情况稍为复杂, 如果每个任务都像单任务系统那样,只要有一个任务正常工作并定期喂狗,看门狗定时器就不会溢出, 而只有所有任务都出现问题时, 定时器
2、才会溢出。重庆师范大学叶帮利老师曾在Windows系统中探讨和解决了这个问题 1 , 在嵌入式系统中也有人曾谈到过 2 , 但是却没有具体实现方法的叙述。文中把u C / O S - I I 操作系统移植到PHILIPS 公司生产的LPC2132 内核中,基于系统的消息机制和优先级权限, 设置了一个优先级最高的任务作为监视器对微型机上运行的所有任务进行监控, 只要一个任务出现故障, 该监视任务就延迟喂狗, 使定时器溢出, 重启系统, 以保障微型机及所有任务处于长期稳定的运行状态。1 . 1 硬件和开发环境简介把uC/OS-II操作系统移植到LPC2132的开发板中。LPC2132 是一个支持实
3、时仿真和跟踪的32 位ARM7TDMI-STM 核微处理器,带64kB 高速FLASH存储器,4 个通信接口, 2 个32 位定时器, 1 个10 位8 路ADC,2 个硬件接口,47 个GPIO 以及多达9个边沿或电平触发的外部中断, 完全能满足一般应用程序及扩展的需求。uC/OS-II 是一个抢占式多任务实时操作系统, 其源代码公开、可移植性强, 有着易用性、易开发性和普及性的特点。uC/OS- 最多可以管理64 个任务, 这些任务通常都是一个无限循环的函数。在目前的版本中, 保留了优先级为0 、1 、2 、3 、OS_LOWEST_PRIO-3、OS_LOWEST_PRIO-2 、O S
4、 _ L O W E S T _ P R I O - 1 、OS_LOWEST_PRIO 的任务,所以用户可以同时拥有5 6 个任务, 足以满足用户设计的各种要求。1 . 2 系统实现的功能在多任务系统中, 往往希望有一个任务出问题时把该任务重启, 而不重启整个系统, 以达到不影响其他关键任务运行的目的, 在多次重启该任务无效时再重启系统。当系统的主程序出现错误或者系统硬件出现问题时重启系统。基于以上分析设计的看门狗主要实现以下功能。( 1 ) 当某个任务出现异常时, 由软件看门狗重启该任务。( 2 ) 当多次重启某一任务失败时, 重启系统。( 3 ) 当操作系统本身出现异常时, 或者系统硬件
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 任务 看门狗 监控 原理 实现
链接地址:https://www.31doc.com/p-3418817.html