HardFault_Handler的相關實驗1--VCAP_1管腳外加訊號源
阿新 • • 發佈:2018-11-16
最近除錯STM32F407時,遇到HardFault_Handler()的各種情況。如陣列溢位等。各種模擬,各種除錯,各種改程式碼,也沒有得到具體結論。
今天主要做了電源方面的實驗,調壓器輸出電壓為1.2V左右,該電壓主要為核心,數字外設及儲存器等供電。此調壓器需要將兩個外部電容連線到專用引腳VCAP_1和VCAP_2。注:由於電路板上的這兩個引腳懸空(電路設計是,抄的別人的電路,導致了很嚴重的硬體設計缺陷),而做了以下實驗。
電源電路設計要求。
將VCAP_1腳飛線,外接訊號源(調到1.3V左右),目的是:為了知道該管腳電壓不穩定(即核心供電電壓不穩定),CPU會是什麼樣的一個工作狀態。不斷的給訊號源斷電上電,發現上電的時候特別容易宕機。DEBUG晶片時,發現有以下幾種現象,1,硬體死掉(CPU完全掛掉)
2,停在了HardFault_Handler()處,
HardFault_Handler\
PROC
EXPORT HardFault_Handler [WEAK]
B .
ENDP
1)根據此時狀態查詢異常程式碼區,發現每次程式碼區域不同。
2)核心暫存器R1-R15全為0x00000000或者0x01000000。
結論:核心電壓不穩或者受到干擾,會出現莫名其妙的宕機。。
ps:謹記,硬體設計一定要根據datesheet嚴格要求去設計。不能一味得抄襲