硬件平台:FL2440
内核版本:2.6.28
主机平台:Ubuntu 11,04
内核版本:2.6.39
原创作品,转载请标明出处http://blog.csdn.net/yming0221/article/details/6595265
1、看门狗驱动的原理
下图是看门狗驱动的原理图
可以看出,PCLK是系统时钟,经过8位的预分频,然后再被分频(16、32、64、128)然后产生计数脉冲,进行计数,当计数器WTCNT加到0或减到0,然后产生中断,或引起系统复位。所以要隔一段时间,重置WTCNT的值,防止WTCNT减到0,称之“喂狗”。
2、驱动分析
下面是自己的驱动分析,如有理解错误,请指正
注,为了尽量是驱动容易理解,这个驱动暂时将有关电源管理的功能删除了,等理解透彻再完善
设置默认不是重启机器,而是执行中断函数,当不喂狗,计数器减到0,点亮LED,然后喂狗,重新计数。