那曲檬骨新材料有限公司

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

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

3天內不再提示

NVIC_SysReset系統復位

5RJg_mcuworld ? 來源:YXQ ? 2019-07-31 16:12 ? 次閱讀

系統復位是置位同一個寄存器中的 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這兩位。

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

可以結合上面提供例程理解,以及結合Cortex-M手冊理解。

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

    關注

    68

    文章

    19407

    瀏覽量

    231182
  • 復位電路
    +關注

    關注

    13

    文章

    322

    瀏覽量

    44705

原文標題:31個驚艷的數據可視化作品,讓你感受“數據之美”!

文章出處:【微信號:mcuworld,微信公眾號:嵌入式資訊精選】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    系統復位的特殊處理

    復位就是復位撤離,系統復位就是復位結束了系統準備開始工作。
    的頭像 發表于 11-28 12:20 ?1085次閱讀
    <b class='flag-5'>系統</b>解<b class='flag-5'>復位</b>的特殊處理

    復位那些小事—系統復位的特殊處理

    復位就是復位撤離,系統復位就是復位結束了系統準備開始工作。
    的頭像 發表于 12-04 15:25 ?1894次閱讀
    <b class='flag-5'>復位</b>那些小事—<b class='flag-5'>系統</b>解<b class='flag-5'>復位</b>的特殊處理

    STM32F303調用NVIC_SystemReset函數軟件復位失敗的原因?怎么解決?

    在對APP進行升級完成后希望自動軟件復位重啟,但調用NVIC_SystemReset函數后一直在for循環。這里的軟件復位原理不確定是否是內部控制NRST管腳復位。若是,則可能因外部電
    發表于 04-02 06:52

    STM32 HAL_NVIC_SystemReset()死機的原因?

    一直使用HAL_NVIC_SystemReset()進行系統復位,最近程序升級,在執行到HAL_NVIC_SystemReset()時系統
    發表于 04-09 07:41

    Ch579 NVIC_SystemReset()函數不復位怎么解決?

    在使用CH579,做項目,即將完工,內存升級了一下,即占用RAM比之前版本多了1K;導致升級后的程序,執行NVIC_SystemReset()函數后CPU ,不復位,重新上電也不工作。請問,有什么好辦法?
    發表于 09-08 06:09

    華大單片機怎么用NVIC_SystemReset()軟復位

    華大HC32F003單片機可以直接調用NVIC_SystemReset()進行軟復位嗎,如何確保復位成功,目前發現有時候不能正常復位
    發表于 09-27 06:09

    NVIC_CoreReset內核復位

    關于復位的知識,在實際項目中應用的比較多。
    的頭像 發表于 07-31 16:07 ?3.4w次閱讀

    STM32F1單片機軟件復位

    基于標準外設庫V3.5.0。__set_FAULTMASK(1); //關中斷NVIC_SystemReset(); //復位先關中斷,然后復位,不要問為什么。
    發表于 11-19 11:36 ?0次下載
    STM32F1單片機軟件<b class='flag-5'>復位</b>

    基于STM32L4的NVIC中斷系統

    STM32L4基于Cortex-M4架構,內部有一個嵌套中斷向量控制器(NVIC)來管理異常,并將優先級最高的異常提交給CPU處理。異常的編號范圍是1~255,其中編號1~15被歸為系統異常(如
    發表于 12-04 14:06 ?12次下載
    基于STM32L4的<b class='flag-5'>NVIC</b>中斷<b class='flag-5'>系統</b>

    STM32學習筆記(五)---NVIC

    STM32學習筆記(五)—NVIC文章目錄STM32學習筆記(五)---NVIC一、NVIC簡介二、中斷優先級優先級定義優先級分組三、中斷編程F407在內核水平上搭載了一個異常響應系統
    發表于 12-04 18:51 ?16次下載
    STM32學習筆記(五)---<b class='flag-5'>NVIC</b>

    STM32 NVIC相關庫函數解析

    一、中斷優先級分組函數:1)相關寄存器實際上,STM32的中斷優先級只用到高4位,如下圖所示:void NVIC_PriorityGroupConfig(uint32_t
    發表于 12-04 20:36 ?7次下載
    STM32 <b class='flag-5'>NVIC</b>相關庫函數解析

    NVIC_SystemReset使用及系統復位

    NVIC_SystemReset:STM32中NVIC_SystemReset()函數的作用?什么時候用?STM32軟件復位有兩種方式(1)方式一: NVIC_SystemReset(
    發表于 12-08 11:36 ?11次下載
    <b class='flag-5'>NVIC</b>_SystemReset使用及<b class='flag-5'>系統</b><b class='flag-5'>復位</b>

    STM32軟件復位

    的 core_cm3.h 文件里 直接提供了 系統復位的函數 static __INLINE void NVIC_SystemReset(void){ SCB-&amp;gt;AIRCR = ((0x5F...
    發表于 12-08 11:51 ?2次下載
    STM32軟件<b class='flag-5'>復位</b>

    STM32F1----NVIC

    1.NVIC初始化流程配置中斷優先級分組void NVIC_PriorityGroupConfig(uint32_t NVIC_PriorityGroup);建立
    發表于 01-17 09:37 ?6次下載
    STM32F1----<b class='flag-5'>NVIC</b>

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

    GD32 MCU的復位分為電源復位系統復位,電源復位又稱為冷復位,相較于
    的頭像 發表于 02-02 09:37 ?1593次閱讀
    GD32 MCU電源<b class='flag-5'>復位</b>和<b class='flag-5'>系統</b><b class='flag-5'>復位</b>有什么區別
    百家乐官网科学打法| 网上百家乐官网游戏下载| 瑞丰娱乐| 威尼斯人娱乐中心老品牌| 百家乐赢钱| 百家乐官网规则以及玩法| 百家乐官网注册赠金| 58百家乐官网的玩法技巧和规则| 威尼斯人娱乐城总部| 新澳博百家乐官网现金网| 最好的百家乐娱乐场| 棋牌平台| 百家乐官网博百家乐官网的玩法技巧和规则| 威尼斯人娱乐城信誉| 百家乐官网天天乐娱乐场| 网上百家乐骗人| 安徽棋牌游戏中心| 路单百家乐官网的玩法技巧和规则| 百家乐桌子定制| 百家乐官网投注方法网| 百家乐全部规| 百家乐官网赚钱项目| 娱乐城百家乐送白菜| 临城县| 百家乐怎么赢博彩正网| 皇冠网址大全| 澳门百家乐登陆网址| 曲麻莱县| 广东百家乐主论坛| 百家乐官网单双打法| 澳门百家乐送彩金| 百胜百家乐官网软件| 香港百家乐玩| 百家乐官网玩法及细则| 玩百家乐免费| 澳门百家乐官网文章| 百家乐技巧平注常赢法| 百家乐官网六合彩| 太阳城线上真人娱乐| 大发888娱乐城大发888达法8| 大发888大发888官方|