日本高清不卡中文字幕-一起草草视频在线观看-亚洲精品一区二区三区色-国产亚洲精品免费视频

你好!歡迎來到深圳市穎特新科技有限公司!
語言
當(dāng)前位置:首頁 >> 技術(shù)中心 >> 單片機入門 >> 單片機看門狗的作用

單片機看門狗的作用

關(guān)鍵字:單片機 看門狗 作者:admin 來源:不詳 發(fā)布時間:2018-05-18  瀏覽:11

看門狗的作用是系統(tǒng)CPU正常工作時定時給看門狗喂狗,復(fù)位定時器,如果系統(tǒng)出問題,沒有給看門狗喂狗,看門狗就由于超時將CPU復(fù)位。

系統(tǒng)用初始化后注冊看門狗中斷request_irq(WDT0_ACCSCSSNBARK_INT, wdog_bark_handler, 0, "apps_wdog_bark", NULL);

和初始化看門狗的超時時間bark time,

__raw_writel(timeout, msm_tmr0_base + WDT0_BARK_TIME);

__raw_writel(timeout + 3*WDT_HZ, msm_tmr0_base + WDT0_BITE_TIME);

復(fù)位看門狗,使能看門狗和中斷極性。

__raw_writel(1, msm_tmr0_base + WDT0_EN);

__raw_writel(1, msm_tmr0_base + WDT0_RST);

enable_percpu_irq(WDT0_ACCSCSSNBARK_INT, IRQ_TYPE_EDGE_RISING);

并且初始化和啟動一個定時器,比如10秒一次,

schedule_delayed_work_on(0, &dogwork_struct, delay_time);

static DECLARE_DELAYED_WORK(dogwork_struct, pet_watchdog_work);

static DECLARE_WORK(init_dogwork_struct, init_watchdog_work);

static struct msm_watchdog_pdata msm_watchdog_pdata = {

.pet_time = 10000,

.bark_time = 11000,

.has_secure = true,

.needs_expired_enable = true,

};

delay_time = msecs_to_jiffies(pdata->pet_time);

schedule_work_on(0, &init_dogwork_struct);

定時器定時時間到了對定時器復(fù)位pet dog 和重新啟動定時器。

static void pet_watchdog_work(struct work_struct *work)

{

pet_watchdog();

if (enable)

schedule_delayed_work_on(0, &dogwork_struct, delay_time);

}

如果系統(tǒng)出問題了,沒有辦法執(zhí)行定時器的回到函數(shù),那么看門狗就產(chǎn)生中斷,執(zhí)行中斷服務(wù)程序static irqreturn_t wdog_bark_handler(int irq, void *dev_id),

執(zhí)行panic。 panic("Apps watchdog bark received!");

編輯:admin  最后修改時間:2018-05-18

聯(lián)系方式

0755-82591179

傳真:0755-82591176

郵箱:vicky@yingtexin.net

地址:深圳市龍華區(qū)民治街道民治大道973萬眾潤豐創(chuàng)業(yè)園A棟2樓A08

Copyright © 2014-2023 穎特新科技有限公司 All Rights Reserved.  粵ICP備14043402號-4

汪清县| 蒙山县| 南江县| 石狮市| 来安县| 昌黎县| 左贡县| 宿州市| 康乐县| 梅州市| 辽宁省| 铅山县| 乌苏市| 博白县| 高雄县| 闵行区| 儋州市| 连南| 四平市| 宁南县| 成安县| 龙泉市| 潮安县| 雷山县| 合川市| 理塘县| 嘉鱼县| 广安市| 湘阴县| 金湖县| 凌海市| 青龙| 镇原县| 白银市| 斗六市| 长顺县| 丽水市| 于田县| 江西省| 二手房| 黄冈市|