资源描述:
《嵌入式操作系统中的看门狗》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、·40·(总548)嵌入式操作系统中的看门狗2009年文章编号:100325850(2009)0720040203嵌入式操作系统中的看门狗WatchdoginEmbedOperatingSystem吴学辉(运城学院计算机科学与技术系山西运城044000)【摘要】由于嵌入式操作系统的广泛采用,对系统的可靠性要求很高,尤其以一些计算机软件作为控制核心的系统,如数控机床、机器人、自动化设备等,如果系统在出现故障时,会出现一些严重的后果,为了避免不必要的损失,在此可以利用看门狗自动恢复。介绍了看门狗的基本原理,以及软件的具体实现。【关键词】嵌入式操作系统,看门狗,喂狗中图分类
2、号:TP316文献标识码:AABSTRACTBecauseofbroadadoptionofembedsystem,thereliabilityofsystemarerequiredhighly1Examplenumericalcontrolmachinetool,robot,automationequipmentetc,Ifthesystemfails,therewillbesomeseriousconsequences1Ifthereistroubleinsystem,watchdogcancomebackit1Thepaperintroducethebasicp
3、rincipleofwatchdog1KEYWORDSembedoperatingsystem,watchdog,feedingdog随着32位微控制器在嵌入式产品中的广泛应用,下详细描述了以上寄存器的功能。嵌入式操作系统也逐渐被大量应用。由于嵌入式操作表1看门狗寄存器描述系统的使用,大大降低了复杂应用系统中软件开发的名称描述访问工作量,使得嵌入式软件能够采用现代的软件开发技看门狗模式寄存器。该寄存器包含看门狗WDMOD读ö设置术进行代码编写和调试,从而也提高了软件的质量。但定时器的基本模式和状态。在嵌入式应用中,CPU必须可靠工作,即使因为某种WDTC看门狗定时器常
4、数寄存器。该寄存器决定超时值。读写原因进入一个错误状态,系统也应该可自动恢复。看门WDFEED看门狗喂狗寄存器。通过它执行特定喂狗时序。只写狗的用途就是使微控制器在进入错误状态后的一定时WDTV看门狗定时器值寄存器。反映倒计数器当前值。只读间内复位。WDMOD模式寄存器又包含WDEN,WDREREST,WDTOF,WDINT功能位。其中WDEN1基本原理与特性为看门狗中断使能位,该位只能置位,而且置位后,将所谓“看门狗”是指在系统设计中通过软件或硬件使能看门狗;WDRESET为看门狗复位使能位,该位方式在一定的周期内监控系统的运行状况。如果在规置位后,看门狗溢出将引起
5、复位。WDINT看门狗中断定时间内没有收到来自系统的触发信号,则系统会强标志,当看门狗发生超时,该位置位。以上三位一旦置制复位,以保证系统在受到干扰时仍然能够维持正常位,软件无法将其清零。只有外部复位或看门狗定时器的工作状态。它主要有寄存器、定时器和看门狗模等部溢出能将其清零;WDTOF看门狗超时标志。当看门狗件构成,其内部结构如图1所示。发生超时,将置位看门狗超时标志。该标志由软件清零;向WDTC寄存器写入0xAA,然后写入0x55会使值重新装入看门狗定时器。如果看门狗通过WDMOD寄存器使能,那么第一次喂狗操作还将启动看门狗运行。在看门狗能够产生中断ö复位之前,即
6、看门狗溢出之前,必须完成一次有效的喂狗时序。同时该寄存器还决定看门狗超时值,当喂狗时序产生时,该寄存器的内容重新装入看门狗定时器。该寄存器的复位值为0xFF,即使写入更小的值,也会装入0xFF。图中wdtc、wdfeed等分别代表看门狗寄存器,以溢出最小时间:tpclk×0xFF×432009204211收到,2009205218改回33吴学辉,男,1978年生,在读硕士研究生,助教,研究方向:多媒体技术。第22卷第7期电脑开发与应用(总549)·41·溢出最大时间:tpclk×0xFFFFFFFF×4处理器(LP)为大家提供了广泛的选择。软件常常是解其中LPC200
7、0系列微控制器都集成有看门狗部决问题的成本最低、灵活性最高的方案。件,均具有以上结构与寄存器。其特性为:软件看门狗的特性:3带内部预分频器的可编程32位定时器;①本身独立工作,基本上不依赖CPU;3如果没有周期性重装(喂狗)动作,则产生片内②CPU在一个固定的时间间隔内和系统打一次复位;交道(喂一次狗),以表明系统目前工作正常;3具有调试模式;③当CPU陷入死循环后,能及时发觉并使系统3看门狗软件使能后,必须由复位来禁止;复位。3错误的喂狗动作,将立即引起复位。软件看门狗具体实现步骤如下:①设置WDTC固定装载值。2实现看门狗②设置WDMOD寄存器,