日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

看門狗定時(shí)器、復(fù)位源、異常處理機(jī)制科普

信盈達(dá) ? 2025-11-17 10:53 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

嵌入式開發(fā)中,系統(tǒng)一旦“跑飛”,工程師最怕的不是 bug,而是程序卡死無人知。這時(shí),芯片自身的自我保護(hù)機(jī)制就至關(guān)重要。看門狗、復(fù)位源和異常處理機(jī)制,是保證系統(tǒng)可靠性的三大基石。本文帶你梳理清楚它們的作用、原理與應(yīng)用。

一、看門狗定時(shí)器(Watchdog Timer)

1. 原理

看門狗定時(shí)器本質(zhì)上是一個(gè)獨(dú)立定時(shí)器,持續(xù)倒計(jì)時(shí):

  • 軟件在規(guī)定時(shí)間內(nèi)“喂狗”(重置看門狗計(jì)數(shù)器),系統(tǒng)繼續(xù)運(yùn)行。
  • 如果程序死循環(huán)或跑飛,沒有及時(shí)喂狗,看門狗觸發(fā)復(fù)位,將 MCU 拉回初始狀態(tài)。

示例:STM32 獨(dú)立看門狗 IWDG 喂狗代碼

  1. #include"stm32f4xx_hal.h"
  2. IWDG_HandleTypeDef hiwdg;
  3. voidWatchdog_Init(void){
  4. hiwdg.Instance=IWDG;
  5. hiwdg.Init.Prescaler=IWDG_PRESCALER_64;
  6. hiwdg.Init.Reload=0x0FFF;// 最大計(jì)數(shù)
  7. HAL_IWDG_Init(&hiwdg);
  8. }
  9. voidFeed_Watchdog(void){
  10. HAL_IWDG_Refresh(&hiwdg);// 喂狗
  11. }
  12. intmain(void){
  13. HAL_Init();
  14. Watchdog_Init();
  15. while(1){
  16. // 主循環(huán)任務(wù)
  17. Feed_Watchdog();// 喂狗
  18. HAL_Delay(100);// 模擬其他操作
  19. }
  20. }

2. 應(yīng)用場(chǎng)景

3. 開發(fā)注意點(diǎn)

  • 喂狗操作應(yīng)放在主循環(huán)關(guān)鍵路徑或任務(wù)完成后,而不是單純?cè)谥袛嘀卸〞r(shí)喂,否則失去意義。
  • 某些 MCU 提供獨(dú)立看門狗(IWDG)與窗口看門狗(WWDG),后者要求“既不能太早喂,也不能太晚喂”,增加可靠性。

二、復(fù)位源(Reset Source)

復(fù)位讓 MCU 回到確定的起點(diǎn),觸發(fā)來源多樣:

  1. 上電復(fù)位(POR)
  2. 外部復(fù)位(External Reset)
  3. 看門狗復(fù)位
  4. 低電壓復(fù)位(Brown-out Reset)
  5. 軟件復(fù)位(Software Reset)

示例:軟件復(fù)位 STM32

  1. #include"stm32f4xx_hal.h"
  2. voidSoftware_Reset(void){
  3. NVIC_SystemReset();// 觸發(fā)軟件復(fù)位
  4. }

復(fù)位意義

  • 保證系統(tǒng)回到安全初始狀態(tài)
  • 避免在電源或邏輯異常下繼續(xù)運(yùn)行
  • 給系統(tǒng)“第二次機(jī)會(huì)”

三、異常處理機(jī)制(Exception Handling)

即使有看門狗和復(fù)位,系統(tǒng)運(yùn)行中仍可能遇到不可避免的異常,如訪問非法地址、總線錯(cuò)誤或中斷嵌套沖突。

1. 異常來源

  • 硬件異常:除零錯(cuò)誤、非法指令、總線錯(cuò)誤
  • 系統(tǒng)異常:中斷優(yōu)先級(jí)沖突、棧溢出
  • 軟件異常:數(shù)組越界、指針錯(cuò)誤

2. 處理方式

  • 異常向量表:啟動(dòng)時(shí)建立,不同異常對(duì)應(yīng)不同入口函數(shù)。
  • 硬件保護(hù):部分 MCU 自動(dòng)保存現(xiàn)場(chǎng)寄存器,便于恢復(fù)。
  • 軟件處理:開發(fā)者可編寫異常處理函數(shù)(如HardFault_Handler),打印或記錄錯(cuò)誤信息。

示例:Cortex-M HardFault 處理

  1. voidHardFault_Handler(void){
  2. // 可以點(diǎn)亮 LED 或輸出日志
  3. while(1){
  4. // 死循環(huán),等待復(fù)位或調(diào)試
  5. }
  6. }

3. 應(yīng)用實(shí)踐

  • Cortex-M 系列常見異常:
  • HardFault(硬錯(cuò)誤)
  • MemManage(存儲(chǔ)器管理錯(cuò)誤)
  • BusFault(總線錯(cuò)誤)
  • UsageFault(用法錯(cuò)誤)
  • 異常處理函數(shù)中可加入死循環(huán) + LED 閃爍或日志打印,方便調(diào)試。

四、三者關(guān)系

  • 看門狗:主動(dòng)防御程序“卡死”
  • 復(fù)位源:系統(tǒng)“重啟按鈕”,確保安全狀態(tài)
  • 異常處理:運(yùn)行中診斷問題

它們共同構(gòu)成系統(tǒng)的三道保險(xiǎn):

  1. 1.異常處理發(fā)現(xiàn)問題
  2. 2.看門狗在關(guān)鍵時(shí)刻觸發(fā)復(fù)位
  3. 3.復(fù)位源保證重啟后系統(tǒng)穩(wěn)定

總結(jié)

嵌入式開發(fā)中,功能跑通只是第一步,系統(tǒng)可靠性才是真正考驗(yàn)。

  • 看門狗確保程序不會(huì)永久卡死
  • 復(fù)位源保證系統(tǒng)能安全回到起點(diǎn)
  • 異常處理機(jī)制幫助定位問題

三者配合,才能讓嵌入式系統(tǒng)在無人值守的環(huán)境下長期穩(wěn)定運(yùn)行。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 看門狗
    +關(guān)注

    關(guān)注

    10

    文章

    611

    瀏覽量

    73226
  • 定時(shí)器
    +關(guān)注

    關(guān)注

    23

    文章

    3375

    瀏覽量

    124643
  • 異常處理
    +關(guān)注

    關(guān)注

    0

    文章

    15

    瀏覽量

    7475
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    一文詳解看門狗定時(shí)器

    看門狗定時(shí)器由獨(dú)立的1 Mhz 片內(nèi)振蕩驅(qū)動(dòng)。這是VCC = 5V 時(shí)的典型值。請(qǐng)參見特性數(shù)據(jù)以了解其他VCC 電平下的典型值。通過設(shè)置看門狗定時(shí)
    發(fā)表于 09-02 16:40 ?5091次閱讀
    一文詳解<b class='flag-5'>看門狗</b><b class='flag-5'>定時(shí)器</b>

    看門狗定時(shí)器的設(shè)計(jì)、工作原理及看門狗定時(shí)器的操作

    看門狗定時(shí)器(WDT,Watch Dog Timer)是單片機(jī)的一個(gè)組成部分,它實(shí)際上是一個(gè)計(jì)數(shù),一般給看門狗一個(gè)數(shù)字,程序開始運(yùn)行后看門狗
    發(fā)表于 05-23 09:14 ?8703次閱讀
    <b class='flag-5'>看門狗</b><b class='flag-5'>定時(shí)器</b>的設(shè)計(jì)、工作原理及<b class='flag-5'>看門狗</b><b class='flag-5'>定時(shí)器</b>的操作

    看門狗喂狗時(shí)間及程序

    ,過一段時(shí)間CPU應(yīng)發(fā)出指令讓看門狗復(fù)位,重新開始倒計(jì)數(shù)。如果看門狗減到0就認(rèn)為程序沒有正常工作,強(qiáng)制整個(gè)系統(tǒng)復(fù)位。 看門狗分硬件
    發(fā)表于 10-16 09:19 ?1.9w次閱讀

    看門狗定時(shí)器的作用

    看門狗復(fù)位,重新開始倒計(jì)數(shù)。如果看門狗減到0就認(rèn)為程序沒有正常工作,強(qiáng)制整個(gè)系統(tǒng)復(fù)位。 看門狗定時(shí)器
    發(fā)表于 10-20 14:41 ?7317次閱讀

    dsp看門狗定時(shí)器的作用解析

    看門狗在外圍監(jiān)控DSP中軟件的運(yùn)行以及硬件的操作,當(dāng)CPU出現(xiàn)故障時(shí),看門狗將執(zhí)行系統(tǒng)復(fù)位。如果軟件進(jìn)入了一個(gè)不正確的循環(huán)或者CPU出現(xiàn)暫時(shí)的混亂,看門狗
    發(fā)表于 11-21 16:52 ?1.5w次閱讀
    dsp<b class='flag-5'>看門狗</b><b class='flag-5'>定時(shí)器</b>的作用解析

    基于VxWorks的看門狗定高效定時(shí)機(jī)制設(shè)計(jì)實(shí)現(xiàn)

    VxWorks提供了一個(gè)看門狗定時(shí)器(watchDog timer),它由以下四個(gè)函數(shù)維護(hù): wdCreate( ) 創(chuàng)建并初始化一個(gè)看門狗定時(shí)器;wdDelete( ) 終止并
    發(fā)表于 03-06 09:22 ?5593次閱讀
    基于VxWorks的<b class='flag-5'>看門狗</b>定高效<b class='flag-5'>定時(shí)機(jī)制</b>設(shè)計(jì)實(shí)現(xiàn)

    TB3123 - PIC?單片機(jī)的窗口看門狗定時(shí)器

    窗口看門狗定時(shí)器(Windowed Watchdog Timer,WWDT)是PIC單片機(jī)的增強(qiáng)型看門狗定時(shí)器。該定時(shí)器是PIC單片機(jī)現(xiàn)有
    發(fā)表于 03-26 14:35 ?0次下載
    TB3123 - PIC?單片機(jī)的窗口<b class='flag-5'>看門狗</b><b class='flag-5'>定時(shí)器</b>

    看門狗定時(shí)器防止溢出復(fù)位程序

    看門狗定時(shí)器用來防止程序因供電電源、空間電磁干擾或其它原因引起的強(qiáng)烈干擾噪聲而跑飛的事故。程序中設(shè)置看TL=WDTPW+WDTCNTCL,當(dāng)程序跑飛不能及時(shí)清零看門狗,導(dǎo)致看門狗溢出
    發(fā)表于 04-23 09:59 ?5281次閱讀
    <b class='flag-5'>看門狗</b><b class='flag-5'>定時(shí)器</b>防止溢出<b class='flag-5'>復(fù)位</b>程序

    看門狗定時(shí)器的相關(guān)問題和實(shí)驗(yàn)說明

    看門狗的作用: 看門狗定時(shí)器是一個(gè)計(jì)數(shù),基本功能是在發(fā)生軟件問題和程序跑飛后使系統(tǒng)重新啟動(dòng)。看門狗計(jì)數(shù)
    的頭像 發(fā)表于 10-06 12:59 ?5590次閱讀
    <b class='flag-5'>看門狗</b><b class='flag-5'>定時(shí)器</b>的相關(guān)問題和實(shí)驗(yàn)說明

    可配置電源監(jiān)視為多軌系統(tǒng)集成了可調(diào)看門狗復(fù)位定時(shí)器

    可配置電源監(jiān)視為多軌系統(tǒng)集成了可調(diào)看門狗復(fù)位定時(shí)器
    發(fā)表于 03-21 06:26 ?7次下載
    可配置電源監(jiān)視<b class='flag-5'>器</b>為多軌系統(tǒng)集成了可調(diào)<b class='flag-5'>看門狗</b>和<b class='flag-5'>復(fù)位</b><b class='flag-5'>定時(shí)器</b>

    LPC2294看門狗定時(shí)器

    看門狗定時(shí)器(WDT)特點(diǎn)1.如果不定期重新裝載,會(huì)內(nèi)部重置芯片2.調(diào)試模式3.由軟件啟動(dòng),但是需要硬件復(fù)位或者看門狗復(fù)位/中斷才能禁用。4
    發(fā)表于 12-04 10:36 ?8次下載
    LPC2294<b class='flag-5'>看門狗</b><b class='flag-5'>定時(shí)器</b>

    看門狗定時(shí)器

    看門狗定時(shí)器(WDT,Watch Dog Timer)是單片機(jī)的一個(gè)組成部分,它實(shí)際上是一個(gè)計(jì)數(shù),一般給看門狗一個(gè)數(shù)字,程序開始運(yùn)行后看門狗
    發(fā)表于 12-09 09:21 ?7次下載
    <b class='flag-5'>看門狗</b><b class='flag-5'>定時(shí)器</b>

    使用高速微型看門狗定時(shí)器

    在惡劣環(huán)境中使用的高速微控制應(yīng)用的設(shè)計(jì)人員將使用看門狗定時(shí)器來防止軟件失控。DS80C320高速微控制集成了看門狗
    的頭像 發(fā)表于 02-09 11:54 ?2043次閱讀

    內(nèi)部和外部看門狗定時(shí)器的比較

    本文比較了內(nèi)部(與微處理器集成)和外部(基于硬件)看門狗定時(shí)器(WDT)的優(yōu)缺點(diǎn)。它解釋了內(nèi)部看門狗定時(shí)器易于實(shí)現(xiàn),但容易發(fā)生故障。MAXQ
    的頭像 發(fā)表于 04-03 11:15 ?4779次閱讀

    看門狗定時(shí)器的工作原理

    看門狗定時(shí)器是一種獨(dú)立的計(jì)時(shí)硬件模塊,其核心功能是倒計(jì)時(shí)。如果系統(tǒng)軟件在計(jì)時(shí)超時(shí)前沒有對(duì)其進(jìn)行復(fù)位操作(即“喂狗”),
    的頭像 發(fā)表于 10-21 14:18 ?2602次閱讀
    <b class='flag-5'>看門狗</b><b class='flag-5'>定時(shí)器</b>的工作原理
    什邡市| 雅江县| 克什克腾旗| 凤山县| 登封市| 和硕县| 通许县| 南康市| 青田县| 平定县| 砚山县| 高密市| 平泉县| 易门县| 长兴县| 临西县| 雅安市| 长阳| 宁都县| 高阳县| 东宁县| 大渡口区| 安平县| 紫金县| 大化| 宜兰市| 天长市| 峨眉山市| 固阳县| 清丰县| 廊坊市| 子洲县| 和政县| 甘孜| 本溪市| 余庆县| 内乡县| 蓝田县| 商水县| 噶尔县| 瑞金市|