努力成为linux kernel hacker的人李万鹏原创作品,为梦而战。转载请标明出处
http://blog.csdn.net/woshixingaaa/archive/2011/06/06/6527969.aspx
默认看门狗是不开机启动的,我们可以向/dev/watchdog写入数据来启动关闭看门狗。使用echo命令,经过我的测试,这个命令启动的作用是先打开那个文件,再写入内容,然后关闭。也就是open->write->release。
此时打印出:
过了几秒后系统复位。
如果这样:
则系统不会复位。
为什么这样呢,下面看看源码是怎样实现的,open函数:
write函数:
release函数:
看门狗只能被一个进程打开,打开函数中先判断了一下,然后启动了看门狗;再看write函数,写入的如果是V则允许关闭看门狗,如果不是V仅仅喂狗一次;最后是release函数,如果允许关闭则关闭看门狗,如果不允许关闭,打印"Unexpected close, not stopping watchdog",喂狗一次。此时看门狗并没有关闭,所以系统会复位的,如果输入V则看门狗被关闭,这样系统就不复位了。
下面让看门狗开机启动:
查看启动信息:
首先make menuconfig进行配置:
在drivers/watchdog/s3c2410_wdt.c中进行修改:
设置成系统启动就启动看门狗,并且看门狗到期时间为20s。这样系统复位后每20s系统就会复位一次,所以我们在用户空间进行喂狗,驱动中的那个中断函数是当看门狗作为定时器时用的,所以没有实现喂狗,所以只能在用户程序中喂狗,下面是源码:
然后:
把wdt拷贝到root-2.6.30.4/sbin/下,并修改root-2.6.30.4/etc/init.d/rcS文件,添加wdt&这么一句,让系统启动后这个应用程序在后台运行:
然后重新制作文件系统:
此时由于用户程序在不断喂狗所以系统不复位了。再次查看启动信息:
分析看门狗源码s3c2410_wdt.c其中的中断处理函数是定时器中断处理函数。如果关闭复位功能,使能定时器功能,则中断处理函数中的喂狗也就是让定时器重新定时罢了。
分享到:
相关推荐
2.1.2 Linux操作系统 .......................................................................................................8 2.1.3 目标板最后运行的环境..................................................
·嵌入式Linux之我行——S3C2440上看门狗(Watchdog)驱动开发实例讲解 ·嵌入式Linux之我行——S3C2440上ADC驱动实例开发讲解 ·嵌入式Linux之我行——S3C2440上触摸屏驱动实例开发讲解 ·嵌入式Linux之我行——S3C...
2.1.2 Linux操作系统 .......................................................................................................8 2.1.3 目标板最后运行的环境....................................................
本实验指导手册针对目前国内非常流行的三星公司 ARM9 嵌入式微处理器――S3C2440...第四篇为嵌入式linux开发实例篇,通过4个linux应用开发实例,使大家对嵌入式linux在ARM微处理器上的移植及驱动程序设计有很好的掌握。
实验5 看门狗定时器应用实验 32 实验6 DMA 控制器实验38 实验7 PWM 控制蜂鸣器实验48 实验8 UART 通信实验57 实验9 红外模块控制实验 68 实验10 实时时钟设计实验79 实验11 IIC 总线应用实验90 实验12 Nor flash ...
第四部分,讲解了Linux设备驱动开发环境搭建、内核开发相关理论,然后将裸机下的接口驱动移植到Android环境下,并通过NDK和JAVA界面测试通过;第五部分,通过一个实战项目,综合应用各个模块的知识,为毕业设计 、...
实验5 看门狗定时器应用实验 32 实验6 DMA 控制器实验38 实验7 PWM 控制蜂鸣器实验48 实验8 UART 通信实验57 实验9 红外模块控制实验 68 实验10 实时时钟设计实验79 实验11 IIC 总线应用实验90 实验12 Nor ...
Linux系统移植 目 录 第一部分 前言....................................................................................................................................8 1 硬件环境.........................
实验十六 WDT看门狗实验 135 实验十七 实时时钟实验 139 实验十八 RS485接口实验 144 实验十九 CAN及SPI接口实验 150 实验二十 利用SPI接口与FPGA通讯实验 157 实验二十一 利用串口与FPGA通讯实验 162 实验二十二 ...
57 3.1.5 看门狗定时器应用实验.................................................. 68 3.1.6 PWM控制蜂鸣器实验..................................................... 74 3.1.7 ARM启动及工作模式切换实验........
答:一般在8位单片机与ARM方面的嵌入式系统是有层次上的差别,ARM适用于系统复杂度较大的高级产品,如PDA、手机等应用。而8位单片机因架构简单,硬件资源相对较少,适用于一般的工业控制、消费性家电等等。对于一个...