STM32重啓之選項字節

STM32重啓之選項字節

最近用STMCubeMX生成hal庫工程,程序在仿真的時候不斷重啓,一度懷疑是hal庫生成的工程有問題,可是同樣的程序在另一塊板子上卻不會出現重啓的情況,到這裏基本就可以定位是硬件問題了,但是我左看右看也看不出硬件哪裏出了問題;本來想放棄,想想這個問題不搞明白,後患無窮;

採用的是仿真的手段,看看是何原因導致的重啓:

程序中加入對RCC_CSR寄存器清零的代碼,以便在程序最開始的地方打斷點,看看是什麼導致了重啓:

RCC->CSR |= 1<<24;

在這裏插入圖片描述
從上面可以看出,是獨立看門狗和硬件復位引腳復位導致的重啓;

可是我沒有開看門狗啊!!!

用萬用表交流檔測量MCU復位引腳,還真有電平跳動,看來真的是看門狗被觸發了;

查看stm32的用戶手冊,翻到看門狗章節:
在這裏插入圖片描述
我去,又是選項字節。。

之前就遇到過stm32讀保護的問題,折騰了好久發現是選項字節啓用了讀保護,於是,用ST-LINK Utility工具打開選項字節:
在這裏插入圖片描述
然後,勾選上再點擊Apply,重啓問題果然解決,也不知道是怎麼觸發這個設置的,有網友說是盜版jlink會導致這個問題,也不知道是不是,時間有限,就不再深究了;

發佈了36 篇原創文章 · 獲贊 14 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章