精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

系統看門狗WDOG1在i.MX RT系統啟動中的應用及影響

恩智浦MCU加油站 ? 來源:恩智浦MCU加油站 ? 作者:恩智浦MCU加油站 ? 2022-06-09 09:53 ? 次閱讀

看門狗模塊(WDOG)在MCU應用里可以說是非常基礎的功能模塊。對于一個產品級的應用程序,如果它沒有使能主控內部的看門狗模塊,一般都不能算是一個合格的軟件設計。

有的時候,硬件工程師覺得片內看門狗不可靠,還會在板級設計里再加入外部看門狗電路。

總之看門狗對于產品工作穩定性具有很重要的意義。

最近有一個i.MX RT客戶注意到了芯片手冊System Boot章節里提及了WDOG應用,想使能這個功能,并且要確認該功能真實生效以及評估對后續應用程序的影響。

借助客戶的問題,我們來細聊下這個話題

一、WDOG模塊簡介

首先我們來了解一下i.MX RT1xxx系列內部的WDOG模塊,在i.MX RT1xxx內部一共有三個WDOG模塊(WDOG1/2/3),雖然WDOG本質上就是個特殊功能定時器,但因為芯片設計時為其賦予的超時觸發行為不同,所以其應用場合并不一樣。

1.1 系統看門狗WDOG1/2

WDOG1和WDOG2屬于系統看門狗,前者用于系統級復位(產生WDOG_RESET_B_DEB信號給SRC模塊)防止系統發生異常,后者用于系統SNVS域安全警報(不會產生復位效果)。

不過從模塊寄存器角度,WDOG1和WDOG2是一樣的,因此除了超時觸發行為外,它們其余方面特性是一樣的:

0fca1e1a-e78b-11ec-ba43-dac502259ad0.png

模塊內部兩個計數時鐘源是固定的,來自ipg_clk_32k以及anatop_xtal32k_clk 。

模塊內部8bit定時器Time-OutCounter)用于產生WDOG_RESET_B_DEB復位信號,計時精度固定為0.5秒,超時可設范圍為0.5秒到128秒。

塊內部定時器(PowerDown Counter)用于產生對外輸出的復位信號WDOG_B,其超時時間固定為16秒。

模塊對外輸出的信號最多有三個:WDOG_RST_B_DEB、WDOG_B、WDOG_ANY(僅WDOG1)。

模塊使能信號WDOGx->WCR[WDE]可多次設置(并不是一次復位期間僅可write one once)。

模塊配置寄存器與定時器計數值可直接修改。

模塊Time-Out Counter默認是關閉的,PowerDown Counter默認是開啟的。

1.2 內核看門狗WDOG3(4)

WDOG3有時候又叫RTWDOG(對于i.MX RT1170,還存在用于默認CM4從核的WDOG4),屬于內核看門狗,主要用于復位內核,防止程序陷入死循環。其模塊寄存器跟WDOG1/2完全不同,更接近于一般的定時器模塊設計:

10065ace-e78b-11ec-ba43-dac502259ad0.png

1. 模塊內部計數時鐘源有四種選擇,Bus clock / LPO clock / INTCLK / ERCLK 。

2. 模塊內部16bit定時器(Time-OutCounter)用于產生內核復位信號。

3. 模塊使能信號WDOGx->CS[EN]可多次設置(但是其屬于write-once屬性)。

4. 模塊配置寄存器write-once bits與定時器計數值需要特殊unlock時序才可以修改。

5. 模塊Time-Out Counter默認是開啟的。

二、系統ROM里對WDOG的使用

i.MXRT1xxx系列芯片上電默認都是先執行系統BootROM,在BootROM里會有對看門狗的處理。默認情況下BootROM是不啟用看門狗做代碼執行守護的,只有當用戶燒寫了指定的eFuse位,看門狗功能才會生效。BootROM并沒有使用默認開啟的 WDOG3,而是將其關閉并打開了WDOG1作為看門狗。

2.1 看門狗使能

i.MXRT10xx系列芯片BootROM看門狗在eFuse里配置如下,包含eFuse 0x460[21]使能位與eFuse 0x6D0[15:13]超時時間設置。

103e119e-e78b-11ec-ba43-dac502259ad0.png

i.MXRT1160/1170 芯片BootROM看門狗在eFuse里配置如下,包含eFuse 0x9A0[15]使能位與eFuse 0x9B0[2:0]超時時間設置,以及多了eFuse0x9B0[5:3]關于WDOG_B外部信號腳選擇設置。

108eab54-e78b-11ec-ba43-dac502259ad0.png

2.2 看門狗作用

對于i.MXRT10xx系列,BootROM看門狗主要用于Serial Downloader分支程序下(SDP 模式BT_MODE = 2'b01,或者Device Boot模式BT_MODE = 2'bx0下啟動失敗進入了Serial Downloader)檢測與主機通訊情況,只要在設置的超時時間里沒有通信交互行為,看門狗就會復位整個系統(并不是單次通信就可以的,任意超時時間內都得保持交互)。如果在Device Boot模式下能夠正常啟動程序,則看門狗不會被使能。

對于i.MXRT1160/1170系列,BootROM看門狗不僅在Serial Downloader分支程序中有效,其在Device Boot模式下(BT_MODE = 2'bx0)也同樣被使能了,這樣做主要有兩個用意:

如果因板級電路干擾導致首次啟動程序失敗,BootROM正常是直接跳轉到了SDP模式不會再做啟動程序行為。但是使能了看門狗,則在SDP模式下等待超時時間后系統復位會重新嘗試啟動程序,這樣不斷嘗試直到板級干擾消失。

如果啟動程序成功,BootROM會直接跳轉到目標應用程序,但無法檢驗目標程序是否能夠正常執行。但是使能了看門狗,如果應用程序不對看門狗做有效處理,系統還是會復位回來,這樣相當于做了應用程序是否執行的驗證。

三、使能WDOG后對i.MX RT開發的影響

現在回到文章開頭提到的客戶問題,如何判斷BootROM中WDOG已經生效了,這個其實特別簡單,在SDP模式下插上USB線,在資源管理器里觀察是不是有HID設備每隔一段時間就會重新枚舉一次,沒錯就是WDOG搗的鬼。

那么對于應用程序的開發,有什么注意事項呢?對于i.MX RT10xx其實沒有任何影響,而對于i.MX RT1160/1170,則必須在應用程序里增加對WDOG1的處理。

在恩智浦提供的頭文件system_MIMXRT1xxx.c文件里SystemInit()函數中其實有關于看門狗相關代碼,默認是將全部的看門狗都關一遍(DISABLE_WDOG=1),這部分代碼對于i.MX RT10xx程序是可以不做的,但是對于i.MX RT1160/1170就必須要做了。

10ce6cb2-e78b-11ec-ba43-dac502259ad0.png

審核編輯 :李倩

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 看門狗
    +關注

    關注

    10

    文章

    559

    瀏覽量

    70754
  • 寄存器
    +關注

    關注

    31

    文章

    5325

    瀏覽量

    120054
  • 定時器
    +關注

    關注

    23

    文章

    3241

    瀏覽量

    114520

原文標題:系統看門狗WDOG1在i.MX RT系統啟動中的應用及影響

文章出處:【微信號:NXP_SMART_HARDWARE,微信公眾號:恩智浦MCU加油站】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    NXP專為邊緣AI打造的i.MX RT700跨界MCU到底強在哪?

    i.MX RT700系列提供了高性能、高集成度、先進功能和高能效的優化組合,為支持智能AI的邊緣端設備賦能,例如可穿戴設備、消費電子醫療設備、智能家居設備和HMI設備。 i.MX
    發表于 11-08 09:40 ?519次閱讀
    NXP專為邊緣AI打造的<b class='flag-5'>i.MX</b> <b class='flag-5'>RT</b>700跨界MCU到底強在哪?

    看門狗定時器的工作原理

    看門狗定時器是一種獨立的計時器硬件模塊,其核心功能是倒計時。如果系統軟件計時器超時前沒有對其進行復位操作(即“喂狗”),看門狗將觸發一個預定義的動作,通常是
    的頭像 發表于 10-21 14:18 ?258次閱讀
    <b class='flag-5'>看門狗</b>定時器的工作原理

    如何在i.MX RT微控制器上初始化LWIP協議棧

    i.MX RT微控制器上初始化LWIP協議棧是一個復雜但有趣的過程,它涉及多個步驟和關鍵組件的配置.
    的頭像 發表于 10-12 11:48 ?302次閱讀
    如何在<b class='flag-5'>i.MX</b> <b class='flag-5'>RT</b>微控制器上初始化LWIP協議棧

    i.MX Linux開發實戰指南—基于野火i.MX系列開發板

    電子發燒友網站提供《i.MX Linux開發實戰指南—基于野火i.MX系列開發板.pdf》資料免費下載
    發表于 10-10 17:23 ?9次下載

    單片機開發:使用內部看門狗定時器(WDT)還是外掛看門狗芯片?

    不需要看門狗功能。 看門狗定時器(WDT)是一種用于檢測嵌入式系統的異常并復位單片機。它通常包含一個預裝計時器,該計時器遞減為零。當
    發表于 09-25 13:46

    恩智浦i.MX RT1170 uSDHC eMMC啟動時間

    大家好,我是痞子衡,是正經搞技術的痞子。今天痞子衡給大家介紹的是恩智浦i.MX RT1170 uSDHC eMMC啟動時間。
    的頭像 發表于 08-08 15:32 ?528次閱讀
    恩智浦<b class='flag-5'>i.MX</b> <b class='flag-5'>RT</b>1170 uSDHC eMMC<b class='flag-5'>啟動</b>時間

    TCAN1164-Q1 具有 LDO 輸出和看門狗的汽車 CAN FD系統基礎芯片數據表

    電子發燒友網站提供《TCAN1164-Q1 具有 LDO 輸出和看門狗的汽車 CAN FD系統基礎芯片數據表.pdf》資料免費下載
    發表于 06-25 09:57 ?0次下載
    TCAN1164-Q<b class='flag-5'>1</b> 具有 LDO 輸出和<b class='flag-5'>看門狗</b>的汽車 CAN FD<b class='flag-5'>系統</b>基礎芯片數據表

    軟件看門狗和硬件看門狗的區別

    軟件看門狗和硬件看門狗都是用于監控系統崩潰的工具,它們的作用是系統出現故障或異常情況時自動恢復系統
    的頭像 發表于 04-16 15:10 ?964次閱讀

    TLF35584集成的看門狗工作應用案例

    看門狗輸入引腳 WDI 具有集成的下拉電流 IWDI 。看門狗輸入 WDI 可以“Closed Window”內或隨后的“Open Window”期間轉換為高電平。
    發表于 03-18 11:27 ?3648次閱讀
    TLF35584<b class='flag-5'>中</b>集成的<b class='flag-5'>看門狗</b>工作應用案例

    調試模式下如何調試看門狗

    大家調試GD32 MCU系統的時候,若開了看門狗外設,是否會碰到進入調試模式看門狗就會咬造成無法調試的問題?
    的頭像 發表于 02-23 09:30 ?1226次閱讀
    調試模式下如何調試<b class='flag-5'>看門狗</b>?

    嵌入式看門狗如何提高系統穩定性?

    嵌入式系統設計系統的穩定性至關重要,它決定了系統的價值及競爭力,而看門狗作為一種重要的穩定
    的頭像 發表于 02-20 16:14 ?685次閱讀

    什么是看門狗?如何實現對系統程序的監控?

    看門狗通過定時器計數器和相關的控制邏輯來實現功能。系統正常運行時,定時器會以固定的時間間隔重復計數,如果系統一切正常,那么定時器會定期被重置。
    的頭像 發表于 02-02 15:58 ?2375次閱讀

    使用i.MX RT500實現SPI/DMA AN14170應用指南

    電子發燒友網站提供《使用i.MX RT500實現SPI/DMA AN14170應用指南.pdf》資料免費下載
    發表于 02-01 10:05 ?0次下載
    使用<b class='flag-5'>i.MX</b> <b class='flag-5'>RT</b>500實現SPI/DMA AN14170應用指南

    芯知識 | 語音芯片中的聲音播放提示IC內置看門狗的作用介紹

    的作用不可忽視。首先,讓我們了解一下什么是看門狗看門狗是一種計算機硬件或軟件的保護機制,用于檢測和恢復系統故障。語音芯片中,看門狗主要用
    的頭像 發表于 12-20 08:40 ?505次閱讀
    芯知識 | 語音芯片中的聲音播放提示IC內置<b class='flag-5'>看門狗</b>的作用介紹

    STM32的看門狗原理和示例代碼

    ):IWDG是一個定時器,其計數器啟用后開始遞增。程序,你需要定期喂狗(通過向IWDG的寄存器寫入特定的值),以防止看門狗超時。否則,如果超過了預定的時間,
    的頭像 發表于 12-01 08:00 ?1901次閱讀
    STM32的<b class='flag-5'>看門狗</b>原理和示例代碼