新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > STM32跳至硬件錯(cuò)誤中斷(HardFault_Handle)

STM32跳至硬件錯(cuò)誤中斷(HardFault_Handle)

作者: 時(shí)間:2016-11-28 來(lái)源:網(wǎng)絡(luò) 收藏
1、遇到錯(cuò)誤問(wèn)題是數(shù)據(jù)類型不對(duì),導(dǎo)致該步驟永遠(yuǎn)不能執(zhí)行到,跳至硬件錯(cuò)誤中斷;所以硬件中斷可嘗試查找數(shù)據(jù)類型錯(cuò)誤。

2、堆棧設(shè)置錯(cuò)誤也會(huì)跳至hardwarefault;

本文引用地址:http://butianyuan.cn/article/201611/322730.htm

3、如果上電后, 在調(diào)試時(shí), 執(zhí)行單步, 會(huì)在不確定位置的地方產(chǎn)生HardFault_Handle, 檢查一下你的時(shí)鐘配置(外部晶振頻率, SysTemInit/PLLConfig相關(guān)函數(shù)以及晶振頻率宏定義), 可能是超頻了...導(dǎo)致了STM32不穩(wěn)定.

4、如果在使用某些參數(shù)時(shí),使用的類型與其定義的類型不同,也可能導(dǎo)致出現(xiàn)跳轉(zhuǎn)hardfault,這種情況下, 一般是不固定的跳轉(zhuǎn)hardfalt,排查問(wèn)題較麻煩;

5、如果你使用片上flash做參數(shù)存儲(chǔ),那么你需要注意了,參數(shù)存儲(chǔ)區(qū)最好從flash的后部往前存,避免參數(shù)區(qū)與代碼區(qū)的互相覆蓋。如果參數(shù)被覆蓋了,或者代碼被覆蓋了,查找Bug就蛋蛋的憂桑了。。。這也會(huì)導(dǎo)致跳轉(zhuǎn)hardfault。




關(guān)鍵詞: STM32錯(cuò)誤中

評(píng)論


技術(shù)專區(qū)

關(guān)閉