通信電纜 網絡設備 無線通信 云計算|大數據 顯示設備 存儲設備 網絡輔助設備 信號傳輸處理 多媒體設備 廣播系統 智慧城市管理系統 其它智慧基建產品
沈陽芯碩科技有限公司
產品在設計中某些狀態下需要MCU進行復位,華大MCU包含了7個復位信號來源,每個復位信號都可以讓 CPU 重新運行,絕大多數寄存器會被復位到復位值,程序計數器 PC 會被復位指向 00000000。
產品在設計中某些狀態下需要MCU進行復位,華大MCU包含了7個復位信號來源,每個復位信號都可以讓 CPU 重新運行,絕大多數寄存器會被復位到復位值,程序計數器 PC 會被復位指向 00000000。
● POR/BOR 復位(VCC 域及 Vcore 域)
●外部 Reset PAD 復位
●WDT 復位
●PCA 復位
●LVD 復位
●Cortex-M0+ SYSRESETREQ 軟件復位
●Cortex-M0+ LOCKUP 硬件復位
華大MCU每個復位源由相應的復位標志進行指示。復位標志均由硬件置位,需要用戶軟件清零。芯片復位時,如果查詢到 Reset_flag. POR15V 或 Reset_flag. POR5V 為 1 則為上電復位。上電復位時用戶程序應當將寄存器 Reset_flag 清零,則下一次復位時可通過 Reset_flag的相關比特判斷復位來源。
這些復位源中Cortex-M0+ SYSRESETREQ 軟件復位為主動復位,工程師可以在程序中根據自己的需要進行操作,其它的復位為被動復位,當運行的條件滿足時會自動復位。下面介紹下華大MCU如何實現軟件復位。
軟件復位的函數包涵在core_cm0plus.h頭文件中,形式為:
#define NVIC_SystemReset __NVIC_SystemReset
函數的原型為:
__STATIC_INLINE void __NVIC_SystemReset(void)
{
__DSB(); /* Ensure all outstanding memory accesses included
buffered write are completed before reset */
SCB->AIRCR = ((0x5FAUL << SCB_AIRCR_VECTKEY_Pos) |
SCB_AIRCR_SYSRESETREQ_Msk);
__DSB(); /* Ensure completion of memory access */
for(;;) /* wait until reset */
{
__NOP();
}
}
工程建立好后,工程師在使用的時候直接調用就可以,以上就是華大MCU如何實現軟件復位操作流程。
您感興趣的產品PRODUCTS YOU ARE INTERESTED IN
智慧城市網 設計制作,未經允許翻錄必究 .? ? ?
請輸入賬號
請輸入密碼
請輸驗證碼
請輸入你感興趣的產品
請簡單描述您的需求
請選擇省份