在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

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

系統(tǒng)看門狗WDOG1內(nèi)部WDOG模塊介紹

痞子衡嵌入式 ? 來源:痞子衡嵌入式 ? 作者:痞子衡嵌入式 ? 2022-06-13 17:34 ? 次閱讀

大家好,我是痞子衡,是正經(jīng)搞技術(shù)的痞子。今天痞子衡給大家介紹的是系統(tǒng)看門狗WDOG1在i.MXRT1xxx系統(tǒng)啟動中的應(yīng)用及影響

軟件看門狗模塊(WDOG)在 MCU 應(yīng)用里可以說是非常基礎(chǔ)的功能模塊。對于一個(gè)產(chǎn)品級的應(yīng)用程序,如果它沒有使能主控內(nèi)部的看門狗模塊,一般都不能算是一個(gè)合格的軟件設(shè)計(jì)。有的時(shí)候,硬件工程師覺得軟件看門狗不可靠,還會在板級設(shè)計(jì)里再加入外部看門狗電路。總之看門狗對于產(chǎn)品工作穩(wěn)定性具有很重要的意義。

最近有一個(gè) i.MXRT 客戶注意到了芯片手冊 System Boot 章節(jié)里提及了 WDOG 應(yīng)用,想使能這個(gè)功能,并且要確認(rèn)該功能真實(shí)生效以及評估對后續(xù)應(yīng)用程序的影響。借助客戶的問題,我們來細(xì)聊下這個(gè)話題

一、WDOG模塊簡介

首先我們來了解一下 i.MXRT1xxx 系列內(nèi)部的 WDOG 模塊,在i.MXRT1xxx 內(nèi)部 WDOG 模塊一共有三個(gè)(WDOG1/2/3),雖然 WDOG 本質(zhì)上就是個(gè)特殊功能定時(shí)器,但因?yàn)樾酒O(shè)計(jì)時(shí)為其賦予的超時(shí)觸發(fā)行為不同,所以其應(yīng)用場合并不一樣。

1.1 系統(tǒng)看門狗WDOG1/2

WDOG1 和 WDOG2 屬于系統(tǒng)看門狗,前者用于系統(tǒng)級復(fù)位(產(chǎn)生 WDOG_RESET_B_DEB 信號給 SRC 模塊)防止系統(tǒng)發(fā)生異常,后者用于系統(tǒng) SNVS 域安全警報(bào)(不會產(chǎn)生復(fù)位效果)。不過從模塊寄存器角度,WDOG1 和 WDOG2 是一樣的,因此除了超時(shí)觸發(fā)行為外,它們其余方面特性是一樣的:

367c8428-ea22-11ec-ba43-dac502259ad0.png

1. 模塊內(nèi)部兩個(gè)計(jì)數(shù)時(shí)鐘源是固定的,來自 ipg_clk_32k 以及 anatop_xtal32k_clk 。
2. 模塊內(nèi)部 8bit 定時(shí)器Time-Out Counter)用于產(chǎn)生 WDOG_RESET_B_DEB 復(fù)位信號,計(jì)時(shí)精度固定為 0.5 秒,超時(shí)可設(shè)范圍為 0.5 秒到 128 秒。
3. 模塊內(nèi)部定時(shí)器(Power Down Counter)用于產(chǎn)生對外輸出的復(fù)位信號 WDOG_B,其超時(shí)時(shí)間固定為 16 秒。
4. 模塊對外輸出的信號最多有三個(gè): WDOG_RST_B_DEB、WDOG_B、WDOG_ANY(僅 WDOG1)。
5. 模塊使能信號 WDOGx->WCR[WDE] 可多次設(shè)置(并不是一次復(fù)位期間僅可 write one once)。
6. 模塊配置寄存器與定時(shí)器計(jì)數(shù)值可直接修改。
7. 模塊 Time-Out Counter 默認(rèn)是關(guān)閉的,Power Down Counter 默認(rèn)是開啟的。

1.2 內(nèi)核看門狗WDOG3(4)

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

36b4c400-ea22-11ec-ba43-dac502259ad0.png

1. 模塊內(nèi)部計(jì)數(shù)時(shí)鐘源有四種選擇,Bus clock / LPO clock / INTCLK / ERCLK 。
2. 模塊內(nèi)部 16bit 定時(shí)器(Time-Out Counter)用于產(chǎn)生內(nèi)核復(fù)位信號。
3. 模塊使能信號 WDOGx->CS[EN] 可多次設(shè)置(但是其屬于 write-once 屬性)。
4. 模塊配置寄存器 write-once bits 與定時(shí)器計(jì)數(shù)值需要特殊 unlock 時(shí)序才可以修改。
5. 模塊 Time-Out Counter 默認(rèn)是開啟的。

二、系統(tǒng)ROM里對WDOG的使用

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

2.1 看門狗使能

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

36e1c9a0-ea22-11ec-ba43-dac502259ad0.png

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

3710aa72-ea22-11ec-ba43-dac502259ad0.png

當(dāng) Fuse 里使能了看門狗功能后,BootROM 對看門狗模塊的配置如下:

voidROM_WDOG_init(void)
{
uint16_ttimeout=get_timeout_value_from_fuse();

WDOG1->WCR=(uint16_t)(WDOG_WCR_WT(timeout)
|WDOG_WCR_WDW_MASK
|WDOG_WCR_SRE_MASK
|WDOG_WCR_WDA_MASK
|WDOG_WCR_WDBG_MASK
|WDOG_WCR_SRS_MASK);

WDOG1->WCR|=(uint16_t)WDOG_WCR_WDE_MASK;
}

2.2 看門狗作用

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

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

用意1: 如果因板級電路干擾導(dǎo)致首次啟動程序失敗,BootROM 正常是直接跳轉(zhuǎn)到了 SDP 模式不會再做啟動程序行為。但是使能了看門狗,則在 SDP 模式下等待超時(shí)時(shí)間后系統(tǒng)復(fù)位會重新嘗試啟動程序,這樣不斷嘗試直到板級干擾消失。

用意2: 如果啟動程序成功,BootROM 會直接跳轉(zhuǎn)到目標(biāo)應(yīng)用程序,但無法檢驗(yàn)?zāi)繕?biāo)程序是否能夠正常執(zhí)行。但是使能了看門狗,如果應(yīng)用程序不對看門狗做有效處理,系統(tǒng)還是會復(fù)位回來,這樣相當(dāng)于做了應(yīng)用程序是否執(zhí)行的驗(yàn)證。

三、WDOG使能后對i.MXRT開發(fā)的影響

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

那么對于應(yīng)用程序的開發(fā),有什么注意事項(xiàng)呢?對于 i.MXRT10xx 其實(shí)沒有任何影響,而對于 i.MXRT1160/1170,則必須在應(yīng)用程序里增加對 WDOG1 的處理。在恩智浦提供的頭文件 system_MIMXRT1xxx.c 文件里 SystemInit() 函數(shù)中其實(shí)有關(guān)于看門狗相關(guān)代碼,默認(rèn)是將全部的看門狗都關(guān)一遍(DISABLE_WDOG=1),這部分代碼對于 i.MXRT10xx 程序是可以不做的,但是對于 i.MXRT1160/1170 就必須要做了。

378130e4-ea22-11ec-ba43-dac502259ad0.png

至此,系統(tǒng)看門狗WDOG1在i.MXRT1xxx系統(tǒng)啟動中的應(yīng)用及影響痞子衡便介紹完畢了,掌聲在哪里~~~

原文標(biāo)題:系統(tǒng)看門狗WDOG1在i.MXRT系統(tǒng)啟動中的應(yīng)用及影響

文章出處:【微信公眾號:痞子衡嵌入式】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

審核編輯:彭靜

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

    關(guān)注

    7

    文章

    2725

    瀏覽量

    47609
  • 看門狗
    +關(guān)注

    關(guān)注

    10

    文章

    565

    瀏覽量

    70874
  • 寄存器
    +關(guān)注

    關(guān)注

    31

    文章

    5359

    瀏覽量

    120790
  • 應(yīng)用程序
    +關(guān)注

    關(guān)注

    37

    文章

    3285

    瀏覽量

    57777

原文標(biāo)題:系統(tǒng)看門狗WDOG1在i.MXRT系統(tǒng)啟動中的應(yīng)用及影響

文章出處:【微信號:pzh_mcu,微信公眾號:痞子衡嵌入式】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    MCU獨(dú)立看門狗和窗口看門狗的區(qū)別

    早期的MCU沒有看門狗,就容易引起有些產(chǎn)品死機(jī)了不能重啟工作。為了避免這個(gè)問題,后期的MCU在內(nèi)部集成了看門狗的功能。
    發(fā)表于 03-03 09:18 ?797次閱讀

    藍(lán)牙DA14580看門狗定時(shí)器的用法分享

    屏蔽看門狗凍結(jié)Cortex-M0調(diào)試模塊,當(dāng)Cortex-M0在調(diào)試過程中停止。可屏蔽中斷被用戶程序凍結(jié),注意,如果系統(tǒng)不是重新開始的等,SysRAM位于0x20000000,看門狗
    發(fā)表于 12-30 10:58

    看門狗介紹

    的 5)獨(dú)立看門狗是用的內(nèi)部的大約40KHZ RC振蕩器,窗口看門狗是用的系統(tǒng)時(shí)鐘APB1ENR 1
    發(fā)表于 07-30 07:38

    如何解鎖和更新看門狗

    看門狗定時(shí)器(WDOG)的功能有哪些?如何解鎖和更新看門狗?如何測試看門狗
    發(fā)表于 01-18 07:30

    Vybrid wdog a5配置為60秒時(shí)看到7-15秒wdog-A5超時(shí)怎么解決?

    :看到它從 60 秒開始倒計(jì)時(shí)到 0) 似乎是一個(gè)內(nèi)部時(shí)鐘,具有方向計(jì)算時(shí)間的倒計(jì)時(shí)功能。(黑盒子) 觀察: LRU 之間的時(shí)間不同(一些 7,其他 15 秒看門狗超時(shí)),有時(shí)單位“表現(xiàn)”并給出
    發(fā)表于 05-10 07:44

    K32L3A60多核看門狗及調(diào)試問題如何解決?

    ,我將不勝感激;具體來說,使用看門狗調(diào)試多核 MCU 的最佳實(shí)踐是什么。 當(dāng)我在沒有任何斷點(diǎn)的情況下運(yùn)行時(shí)(或者沒有附加調(diào)試器),一切都按預(yù)期工作。 我還計(jì)劃利用 WDOG1 讓 M0+ 核心負(fù)責(zé)啟動它。
    發(fā)表于 05-24 07:48

    什么是stm32看門狗?獨(dú)立看門狗和窗口看門狗工作原理解析

    stm32有兩個(gè)看門狗,獨(dú)立看門狗和窗口看門狗,其實(shí)兩者的功能是類似的,只是喂狗的限制時(shí)間不同。 獨(dú)立看門狗
    的頭像 發(fā)表于 11-06 11:48 ?2.8w次閱讀
    什么是stm32<b class='flag-5'>看門狗</b>?獨(dú)立<b class='flag-5'>看門狗</b>和窗口<b class='flag-5'>看門狗</b>工作原理解析

    STM32看門狗配置(獨(dú)立看門狗IWDG和窗口看門狗WWDG)

    stm32自帶兩個(gè)看門狗模塊,獨(dú)立看門狗IWDG和窗口看門狗WWDG。看門狗主要作用是可用來檢測和解決由軟件錯誤引起的故障;當(dāng)計(jì)數(shù)器達(dá)到給定
    發(fā)表于 11-09 17:17 ?8465次閱讀
    STM32<b class='flag-5'>看門狗</b>配置(獨(dú)立<b class='flag-5'>看門狗</b>IWDG和窗口<b class='flag-5'>看門狗</b>WWDG)

    MCU獨(dú)立看門狗與窗口看門狗的區(qū)別

    早期的MCU沒有看門狗,就容易引起有些產(chǎn)品死機(jī)了不能重啟工作。為了避免這個(gè)問題,后期的MCU在內(nèi)部集成了看門狗的功能。為了滿足更多使用場景,現(xiàn)在很多MCU都集成了兩個(gè)看門狗:獨(dú)立
    發(fā)表于 10-28 20:06 ?8次下載
    MCU獨(dú)立<b class='flag-5'>看門狗</b>與窗口<b class='flag-5'>看門狗</b>的區(qū)別

    PIC內(nèi)部看門狗使用總結(jié)

    PIC的看門狗是一個(gè)系統(tǒng)定時(shí)器,使用內(nèi)部低頻31Khz時(shí)鐘源作為時(shí)鐘,定時(shí)范圍為1ms-256s。看門狗的配置步驟如下:通過配置字 配置WD
    發(fā)表于 11-16 13:36 ?9次下載
    PIC<b class='flag-5'>內(nèi)部</b><b class='flag-5'>看門狗</b>使用總結(jié)

    【嵌入式系統(tǒng)】獨(dú)立看門狗原理+看門狗實(shí)驗(yàn)分析

    【嵌入式系統(tǒng)】獨(dú)立看門狗原理+看門狗實(shí)驗(yàn)分析1看門狗模塊概述在由單片機(jī)構(gòu)成的微機(jī)
    發(fā)表于 11-25 09:51 ?1次下載
    【嵌入式<b class='flag-5'>系統(tǒng)</b>】獨(dú)立<b class='flag-5'>看門狗</b>原理+<b class='flag-5'>看門狗</b>實(shí)驗(yàn)分析

    系統(tǒng)看門狗WDOG1在i.MX RT系統(tǒng)啟動中的應(yīng)用及影響

    WDOG1WDOG2屬于系統(tǒng)看門狗,前者用于系統(tǒng)級復(fù)位(產(chǎn)生WDOG_RESET_B_DEB信
    的頭像 發(fā)表于 06-09 09:53 ?2064次閱讀

    MIMXRT1176中禁止看門狗操作

    看門狗定時(shí)器(WDOG模塊是一個(gè)獨(dú)立的定時(shí)器,可供系統(tǒng)使用。它提供了一個(gè)安全功能,以確保軟件按計(jì)劃執(zhí)行,并且MCU不會陷入無限循環(huán)或執(zhí)行非預(yù)期代碼。如果
    的頭像 發(fā)表于 12-05 09:16 ?943次閱讀

    STM32中的獨(dú)立看門狗和窗口看門狗

    和窗口看門狗。 獨(dú)立看門狗:使用的是外部時(shí)鐘,即使主頻不工作了,看門狗也能正常工作。只要在到達(dá)喂狗時(shí)間的上限前喂狗即表示程序是正常的,這點(diǎn)和窗口看門狗是有區(qū)別的。另外獨(dú)立
    的頭像 發(fā)表于 12-22 16:58 ?2190次閱讀

    什么是看門狗,工業(yè)路由器看門狗技術(shù)的功能優(yōu)勢

    一個(gè)輸入和一個(gè)輸出,其中輸入叫做喂狗,輸出一般連接到另外一個(gè)部分的復(fù)位端。看門狗技術(shù)的核心硬件是看門狗模塊,分為硬件看門狗和軟件看門狗。▍
    的頭像 發(fā)表于 03-27 10:16 ?1868次閱讀
    什么是<b class='flag-5'>看門狗</b>,工業(yè)路由器<b class='flag-5'>看門狗</b>技術(shù)的功能優(yōu)勢
    主站蜘蛛池模板: 在线亚洲精品| 日本在线视频一区二区三区| 天天操人人射| 神马午夜影视| 国产香蕉精品视频在| 国产精品免费看久久久久| 插白浆| 中文字幕一区在线观看视频| 午夜视频在线网站| 国产精品欧美精品国产主播| 亚洲免费人成在线视频观看| 天堂最新版免费观看| 全日本爽视频在线| 久久国产综合| 夜夜操网| 国内精品网站| 亚洲一二三区在线观看| 这里只有精品在线| 四虎成人欧美精品在永久在线| 天天看天天爽| 日韩伊人网| 欧美在线三级| 国产叼嘿免费视频网站| 四虎在线永久免费视频网站| 欧美在线色视频| 国产nv精品你懂得| 天天操天天透| 欧美网色| 伊人98| 嫩草影院在线入口| 成人在线看片| 久久国产免费观看| 亚洲黄站| 色欲香天天天综合网站| 亚洲精品国产成人| 1区2区3区| 色多视频| 沟沟人体一区二区| 射久久| 亚色视频在线| 日韩日韩|