mini6410 实现 看门狗移植

2014-11-24 14:14:41 · 作者: · 浏览: 3

看门狗在嵌入式系统开发中占据重要的地位,管理系统的工作状态。在这里本人muge0913在参考别人的基础上,实现了mini6410看门狗的移植


在mini6410中看门狗驱动文件为linux2.6.38/drivers/watchdog/s3c2410_wdt.c




在mini6410中linux系统默认看门狗是不开机启动,但是我们可以向/dev/watchdog写入数据来启动或关闭看门狗。


如:echo 0 >/dev/watchdog


echo这个命令启动的作用是先打开文件,再写入内容,然后关闭。也就是open->write->release。


运行效果:



一段时间后系统会自动重启。


如果执行:


echo 0 >/dev/watchdog


echo V >/dev/watchdog


系统侧不会重启。


原因分析:


open函数:



看门狗只能被一个进程打开,打开函数中先判断了一下,然后启动了看门狗;再看write函数,写入的如果是V则允许关闭看门狗,如果不是V仅仅喂狗一次;最后是release函数,如果允许关闭则关闭看门狗,如果不允许关闭,打印"Unexpectedclose, not stopping watchdog",喂狗一次。此时看门狗并没有关闭,所以系统会复位的,如果输入V则看门狗被关闭,这样系统就不复位了。