開發學習記錄之看門狗驅動

2021-06-21 21:11:57 字數 1322 閱讀 2873

在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...