色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

3天內不再提示

STM32復位來源 以及系統和內核復位區別

黃工的嵌入式技術圈 ? 來源:黃工的嵌入式技術圈 ? 作者:黃工的嵌入式技術 ? 2020-02-28 17:13 ? 次閱讀

最近有朋友問了些關于STM32復位的問題,今天結合前面文章再次總結一下復位相關知識。

1STM32的復位和時鐘控制

RCC:Reset and Clock Control

每一塊STM32中都有這么一個RCC復位和時鐘控制模塊。

STM32的復位為三類:系統復位、電源復位和后備域復位。

系統復位:

1. NRST引腳上的低電平(外部復位)

2. 窗口看門狗計數終止(WWDG復位)

3. 獨立看門狗計數終止(IWDG復位)

4. 軟件復位(SW復位)

5. 低功耗管理復位

電源復位:

1. 上電/掉電復位(POR/PDR復位)

2. 從待機模式中返回

備份區域復位:

1. 軟件復位,備份區域復位可由設置備份域控制寄存器(RCC_BDCR)中的BDRST位產生。

2. 在VDD和VBAT兩者掉電的前提下, VDD或VBAT上電將引發備份區域復位。

2STM32的復位來源

在很多應用中,都會判斷是什么引起的復位。

比如:判斷為看門狗引起的復位,我們進行xxx操作。軟件引起的復位,我們又執行xxx操作。

在STM32RCC模塊中,有這么一個寄存器:控制/狀態寄存器 (RCC_CSR):

這個寄存器就會記錄各種復位的狀態,我們直接讀取這個寄存器(庫函數有讀寄存器接口)就能知道是什么引起的復位。

3STM32的復位來源例程

之前我提供了一個簡單Demo,STM32F103ZE(Keil)_復位來源(寄存器版):

http://pan.baidu.com/s/1hskScba

4STM32系統和內核復位

內核復位:它會使STM32內核(Cortex-M)進行復位,而不會影響其外設,如GPIO、TIM、USART、SPI等這些寄存器的復位。

系統復位:這個復位會使整個芯片的所有電路都進行復位,系統默認的函數接口NVIC_SystemReset就是系統復位(位于core_cm*.h)。

1.NVIC_CoreReset內核復位

CM3 允許由軟件觸發復位序列,用于特殊的調試或維護目的。在CM3中,有兩種方法可以執行自我復位。第一種方法,是通過置位 NVIC 中應用程序中斷與復位控制寄存器(AIRCR)的VECTRESET 位(位偏移:0)。

這種復位的作用范圍覆蓋了整個CM3處理器中,除了調試邏輯之外的所有角落,但是它不會影響到 CM3 處理器外部的任何電路,所以單片機上的各片上外設和其它電路都不受影響。

C語言版函數:

void NVIC_CoreReset(void){__DSB(); //置位VECTRESET SCB->AIRCR = ((0x5FA << SCB_AIRCR_VECTKEY_Pos) | (SCB->AIRCR & SCB_AIRCR_PRIGROUP_Msk) |SCB_AIRCR_VECTRESET_Msk); __DSB(); while(1);}

匯編版函數:

__asm void NVIC_CoreReset_a(void){ LDR R0, =0xE000ED0C LDR R1, =0x05FA0001 //置位VECTRESET STR R1, [R0] deadloop_Core B deadloop_Core}

內核主要注意:

SCB_AIRCR_VECTRESET_Msk

LDR R1, =0x05FA0001

它是和系統復位唯一的區別。

2.NVIC_SysReset系統復位

系統復位是置位同一個寄存器中的 SYSRESETREQ 位。這種復位則會波及整個芯片上的電路:它會使 CM3 處理器把送往系統復位發生器的請求線置為有效。但是系統復位發生器不是CM3的一部分,而是由芯片廠商實現,因此不同的芯片對此復位的響應也不同。因此,讀者需要認真參閱該芯片規格書,明白當發生片內復位時,各外設和功能模塊都會回到什么樣的初始狀態,或者有哪些功能模塊不受影響(比如, STM32系列的芯片有后備存儲區,該區就被特殊對待)。

大多數情況下,復位發生器在響應 SYSRESETREQ 時,它也會同時把 CM3 處理器的系統復位信號(SYSRESETn)置為有效。通常, SYSRESETREQ 不應復位調試邏輯。

這里有一個要注意的問題:從 SYSRESETREQ 被置為有效,到復位發生器執行復位命令,往往會有一個延時。在此延時期間,處理器仍然可以響應中斷請求。但我們的本意往往是要讓此次執行到此為止,不要再做任何其它事情了。所以,最好在發出復位請求前,先把FAULTMASK置位。因此,我在提供源代碼中有這么一句:__set_FAULTMASK(1);,也就是置位FAULTMASK。


C語言版函數:

voidNVIC_SysReset(void){ __DSB(); SCB->AIRCR = ((0x5FA << SCB_AIRCR_VECTKEY_Pos) | (SCB->AIRCR & SCB_AIRCR_PRIGROUP_Msk) | SCB_AIRCR_SYSRESETREQ_Msk); __DSB(); while(1);}

匯編版函數:

__asm void NVIC_SysReset_a(void){ LDR R0, =0xE000ED0C LDR R1, =0x05FA0004 STR R1, [R0] deadloop_Sys B deadloop_Sys}

內核復位與系統源代碼和相近,差異在于SYSRESETREQ和SYSRESETREQ這兩位。

關于復位的知識,在實際項目中應用的比較多。

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

    關注

    2270

    文章

    10895

    瀏覽量

    355744
  • 引腳
    +關注

    關注

    16

    文章

    1193

    瀏覽量

    50412
  • 電復位
    +關注

    關注

    0

    文章

    5

    瀏覽量

    6061
收藏 人收藏

    評論

    相關推薦

    復位電路的設計問題

    前言 最近看advanced fpga 以及fpga設計實戰演練中有講到復位電路的設計,才知道復位電路有這么多的門道,而不是簡單的外界信號輸入系統
    的頭像 發表于 11-15 11:13 ?154次閱讀
    <b class='flag-5'>復位</b>電路的設計問題

    復位電路的電容多大的 復位電路設計類型有哪幾種

    復位電路是電子系統中的一個關鍵部分,它確保系統在啟動或發生故障時能夠正確地初始化。復位電路的設計取決于多種因素,包括系統的復雜性、所需的
    的頭像 發表于 10-21 10:24 ?291次閱讀

    復位電路介紹 復位電路的原理及作用

    復位電路(Reset Circuit)是現代電子設備中常見的一種關鍵電路,它用于確保在正確的時間和條件下將系統恢復到初始狀態。復位電路的設計和應用對于保障電子系統的穩定性和可靠性至關重
    的頭像 發表于 10-18 16:44 ?1611次閱讀

    STM32復位電路用復位芯片和阻容復位電路區別

    STM32是一款廣泛使用的微控制器,其復位電路設計對于系統的穩定性和可靠性至關重要。本文將詳細介紹STM32復位電路中使用
    的頭像 發表于 08-06 10:26 ?1407次閱讀

    JK觸發器的置位和復位有什么區別

    JK觸發器的置位(Set)和復位(Reset)是其在數字電路中的兩種基本狀態控制功能,它們在操作原理、輸入條件以及觸發器輸出狀態的變化上有所區別。以下是對JK觸發器置位和復位的詳細分析
    的頭像 發表于 07-27 14:50 ?2191次閱讀

    FPGA同步復位和異步復位

    FPGA(Field-Programmable Gate Array,現場可編程門陣列)中的復位操作是設計過程中不可或缺的一環,它負責將電路恢復到初始狀態,以確保系統的正確啟動和穩定運行。在FPGA設計中,復位方式主要分為同步
    的頭像 發表于 07-17 11:12 ?1509次閱讀

    PDR_ON復位和NRST引腳復位,對STM32F407IG的影響有什么區別呢?

    新手請問大家在實際做工程的時候,有沒有用PDR_ON引腳做芯片復位呢? PDR_ON復位和 NRST引腳復位,對芯片的影響有什么區別呢? 謝謝大家。 PS:我用的是
    發表于 05-16 07:21

    STM32如何用HAL庫進行內核復位

    STM32如何用HAL庫進行內核復位 普通的系統復位函數如下: / ** 簡短的系統重置 詳細
    發表于 04-11 06:49

    MCU復位RAM會保持嗎,如何實現復位時變量數據保持

    在使用MCU時,通常大家默認MCU復位時RAM會被復位清零,那實際MCU復位時RAM是什么狀態?如何讓mcu復位時RAM保持不變呢?
    的頭像 發表于 03-01 09:32 ?2475次閱讀
    MCU<b class='flag-5'>復位</b>RAM會保持嗎,如何實現<b class='flag-5'>復位</b>時變量數據保持

    如何排查GD32 MCU復位是由哪個復位源導致的?

    上期為大家講解了GD32 MCU復位包括電源復位系統復位,其中系統復位還包括獨立看門狗
    的頭像 發表于 02-03 09:46 ?1728次閱讀
    如何排查GD32 MCU<b class='flag-5'>復位</b>是由哪個<b class='flag-5'>復位</b>源導致的?

    GD32 MCU電源復位系統復位有什么區別

    GD32 MCU的復位分為電源復位系統復位,電源復位又稱為冷復位,相較于
    的頭像 發表于 02-02 09:37 ?1496次閱讀
    GD32 MCU電源<b class='flag-5'>復位</b>和<b class='flag-5'>系統</b><b class='flag-5'>復位</b>有什么<b class='flag-5'>區別</b>

    同步復位和異步復位到底孰優孰劣呢?

    同步復位和異步復位到底孰優孰劣呢? 同步復位和異步復位是兩種不同的復位方式,它們各自有優勢和劣勢,下面將詳細介紹這兩種
    的頭像 發表于 01-16 16:25 ?1744次閱讀

    復位電路的復位條件和復位過程

    電源監測芯片復位電路:這是最常見的復位電路類型,使用專用的電源監測芯片來監測電源電壓,并在電壓低于或高于預設閾值時觸發復位信號。
    的頭像 發表于 01-16 16:04 ?1232次閱讀

    stm32復位電容容值

    STM32是意法半導體(STMicroelectronics)推出的一系列32位微控制器,具有低功耗、高性能和豐富的外設功能。在STM32微控制器中,復位電容是電路中的一個重要組成部分,用于保持
    的頭像 發表于 01-05 17:39 ?1755次閱讀

    ht7044a復位原理

    HT7044A 是一種復位電路芯片,常用于電子設備中實現對系統復位功能。復位是一項重要的功能,用于將整個系統恢復到初始狀態,以確保
    的頭像 發表于 01-04 11:24 ?1631次閱讀
    主站蜘蛛池模板: 亚洲国产高清在线| 在线成年av动漫电影| 在线精品视频免费观看| 扒开 浓密 毛| 国拍在线精品视频免费观看| 男gv纯肉免费视频| 午夜影院一区二区三区| 538在线视频一区二区视视频| 国产成人精品亚洲线观看 | 成人免费公开视频| 精品国产自在现线拍400部| 琪琪伦伦影院理论片| 亚洲乱码国产乱码精品精98| xxxxxx日本处大片免费看| 韩国女人高潮嗷嗷叫视频 | 日本黄色官网| 一二三四中文字幕在线看| 俄罗斯aaaaa一级毛片| 久久婷婷五月免费综合色啪| 丝瓜涩涩屋黄瓜香蕉丝瓜| 18av 在线| 韩国伦理电影在线神马网| 日日干夜夜爽| 9277高清在线观看视频| 黑人阴茎插女人图片| 色中色辩论区| 99视频国产热精品视频| 久久精品麻豆国产天美传媒果冻| 色午夜日本高清视频www| 99re8在线视频精品| 久久国产精品自线拍免费| 无码一区二区三区| 99视频国产在线| 久久视频这里只精品99re8久 | 无毒成人社区| jlzz中国jizz日本老师水多| 久久精品电影久久电影大全| 无修肉动漫在线观看影片 | 俄罗斯性xxxx| 欧美18videosex性欧美老师| 在线播放日韩欧美亚洲日本|