CM3 允許由軟件觸發(fā)復位序列,用于特殊的調(diào)試或維護目的。在CM3中,有兩種方法可以執(zhí)行自我復位。第一種方法,是通過置位 NVIC 中應用程序中斷與復位控制寄存器(AIRCR)的VECTRESET 位(位偏移:0)。
這種復位的作用范圍覆蓋了整個CM3處理器中,除了調(diào)試邏輯之外的所有角落,但是它不會影響到 CM3 處理器外部的任何電路,所以單片機上的各片上外設(shè)和其它電路都不受影響。
C語言版函數(shù):
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);}
匯編版函數(shù):
__asm void NVIC_CoreReset_a(void){ LDR R0, =0xE000ED0C LDR R1, =0x05FA0001 //置位VECTRESET STR R1, [R0]deadloop_Core B deadloop_Core}
內(nèi)核主要注意:
SCB_AIRCR_VECTRESET_Msk
LDR R1, =0x05FA0001
它是和系統(tǒng)復位唯一的區(qū)別。
-
C語言
+關(guān)注
關(guān)注
180文章
7630瀏覽量
140552 -
復位
+關(guān)注
關(guān)注
0文章
179瀏覽量
24581
原文標題:STM32復位來源,以及系統(tǒng)和內(nèi)核復位區(qū)別
文章出處:【微信號:mcuworld,微信公眾號:嵌入式資訊精選】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
LM3724系列 低功率電壓監(jiān)控和復位IC,帶手動復位功能數(shù)據(jù)手冊

復位電路的作用、控制方式和類型

FPGA復位的8種技巧

復位電路的設(shè)計問題

復位電路的三種方式 復位電路的原理和作用
復位電路的電容多大的 復位電路設(shè)計類型有哪幾種
復位電路靜電整改案例分享(一)——交換機復位電路

復位電路介紹 復位電路的原理及作用
單片機異常復位的原因
滑落復位中繼器的作用是什么
【GD32 MCU 入門教程】GD32 MCU 常見外設(shè)介紹(3)NVIC 介紹

評論