09实验九 Linux环境下的Watchdog实验.pdf

09实验九 Linux环境下的Watchdog实验.pdf

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
09实验九 Linux环境下的Watchdog实验

实验九 Linux 环境下的Watchdog 实验 一、实验目的 1、了解Linux 下端口编程的方法; 2 、掌握DM2410 下的directio 通用端口编程驱动程序的使用; 3、掌握DM2410 下看门狗定时器的使用方法. 二、实验内容 1、编写看门狗测试程序watchdog ; 2 、编写Makefile 文件; 3、下载并调试watchdog 。 三、实验设备 1、硬件: PC 机; DM2410 实验系统; 串口线; 机对机网线; 2、软件: PC 机操作系统(WINDOWS2000,REDHAT Linux ); Linux 下ARM GCC 交叉编译环境; 实验系统附带文件; 四、预备知识 1、了解Linux 操作系统的原理; 2 、掌握Linux 操作系统的使用; 3、掌握实验一和实验二的内容。 五、基础知识 1 、什么是WatchDog WatchDog Timer(看门狗定时器)是一种设备或电子卡,如果一个电子系统出现故障并 且该系统不能自动恢复,看门狗定时器就要在一定时间段之后作出特殊的操作。 对于一台机器或者操作系统来说,一个普遍的问题就是如果两个部件或者程序出现冲 突,或者在操作系统中出现内存管理的问题的时候就会挂起。在某些情况下,系统将最终 会自己恢复的,但是这种情况不知道会用多久的时间或者也许要经历很长的一段时间。看 门狗定时器可以设计成下面这种模式:当一个程序或者计算机对鼠标以及键盘的动作都没 有反应时,看门狗定时器就将在几秒钟之后执行热启动。定时器还有其他的用途。例如, 如果在输入网址之后过了好久网页都没有完全装载,这时定时器就可以开动网页上的刷新 按钮来执行刷新动作。 看门狗定时器包含一个数字计数器,该计数器可以从一个事先设置好的数开始以不变 的速度减到0 。计数器的速度是由一个时钟电路控制的。如果计数器在系统恢复之前减到 0,它就会向指定的电路发送信号,通知它执行相应的动作。 2 、WatchDog 的功能 嵌入式系统运行时受到外部干扰或者系统错误,程序有时会出现“跑飞”,导致整个 系统瘫痪。为了防止这一现象的发生,在对系统稳定性要求较高的场合往往要加入 WatchDog(看门狗) 电路。WatchDog 的作用就是当系统“跑飞”而进入死循环时,恢复系 统的运行。 3、WatchDog 的工作原理 其基本原理为:当本系统程序完整运行一周期的时间时Tp,WatchDog 的定时周期时 Ti, TiTp ,在程序运行一周期后,就修改定时器的计数值,(俗称“喂狗”),只要程 序正常运行,定时器就不会溢出,若由于干扰等原因使系统不能在Tp 时刻修改定时器的 计数值,定时器将在 Ti 时刻溢出,引发系统复位,使系统得以重新运行,从而起到监控 作用。 在一个完整的嵌入式机系统或单片机最小系统中通常都有WatchDog 定时器。而且一 般集成在处理芯片中,WatchDog 实际上就是一个定时器,只是它在期满后将自动引起系 统复位。 六、实验说明 1、S3C2410 WatchDog 的控制 S3C2410 的WatchDog 定时器有两个功能: 1)为常规定时器使用,而且可以引发中断; 2 )为WatchDog 定时器使用,期满时,它可以产生128 个时钟周期的复位信号。 图9 -1 是S3C2410 WatchDog 的示意图。输入时钟为MCLK (该时钟频率等于系统 的主频),它经过两级分频,最后将分频后的时钟作为该定时器的输入时钟,当计数器期 满后可以产生中断或者复位信号。 图9 -1 S3C2410X WatchDog电路示意图 WatchDog 定时器计数值的计算公式如下: t_WatchDog = 1 / (PCLK / (Prescaler value + 1 ) / Division_factor) WatchDog 的定时周期: T = WTCNT * t_WatchDog WatchDog 定时器相关寄存器如下: 控制寄存器(WTCON ) 通过该寄存器,可以

文档评论(0)

yan698698 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档