在linux中學看門狗驅動,說實話就是坑爹的,因為一般上看門狗只有乙個,只能留給最需要的哪乙個,很少有裝置用到,不過既然提到了,那就剛好看看,在作業系統中時怎麼用寫看門狗的,有點坑爹的。就註冊乙個中斷,不想寫了,坑爹.......
想了想還是寫一點,可以複習一下:
#include
#include
#include
#include
#include
module_license("gpl");
struct up_wtd;
void my_wtd_init(struct up_wtd *this);
void my_wtd_exit(struct up_wtd *this);
void my_wtd_on(struct up_wtd *this);
void my_wtd_off(struct up_wtd *this);
void my_wtd_clr(struct up_wtd *this);
void my_led_on(struct up_wtd *this);
void my_led_off(struct up_wtd *this);
irqreturn_t my_do_irq(int irq,struct up_wtd *this);
struct up_wtd wtd;
int up_init(void)
void up_exit(void)
module_init(up_init);
module_exit(up_exit);
void my_wtd_init(struct up_wtd *this)
this->wtd_on(this); }
void my_wtd_exit(struct up_wtd *this)
void my_wtd_on(struct up_wtd *this)
void my_wtd_off(struct up_wtd *this)
void my_wtd_clr(struct up_wtd *this)
void my_led_on(struct up_wtd *this)
void my_led_off(struct up_wtd *this)
irqreturn_t my_do_irq(int irq,struct up_wtd *this)
else
this->flag ^= 1; }
return irq_handled; }
坑爹了。。。。這些都是模型,可以套用別的驅動,有機會可以討論
十一 看門狗驅動設計
1 產生復位訊號 當系統由於受到雜訊或干擾而出現了宕機,看門狗可以讓系統復位,重新開始工作。2 普通定時器 產生週期性的中斷,16bits的定時器 思考 1 如果看門狗的復位時間設定10s,第一分頻值 第二次分頻值 計數值應該如何設定?1 第一次分頻值 255 1 256 781250 2 第二次分...
LPC2103學習之看門狗
晚上的時候,接著學習了lpc2103的看門狗。看門狗的概述 看門狗包括乙個4分頻的預分頻器和乙個32位計數器,時鐘通過預分頻器輸入定時器,定時器遞減 與其他的定時器有區別哦 定時器遞減的最小值為0xff,也就是如果你設定乙個小於0xff的值的話,系統裝入定時器的也將會是0xff。所以看門狗的最小間隔...
MTK 驅動開發(48) ARM 看門狗機制
arm 看門狗機制 包括mtk sys last kmsg裡的hw status和fiq step的含義 閱讀數 559 description sys last kmsg這支檔案是記錄上次重啟前最後的kernel console log,不過除了kernel console log還有hw sta...