欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
STM32F1xx使用中出現的一個Hardfault錯誤
[打印本頁]
作者:
liumei
時間:
2014-5-7 03:29
標題:
STM32F1xx使用中出現的一個Hardfault錯誤
現象:
日前,在使用STM32F103C8時,分boot區和application區,以便進行升級,boot配置為48M,application配置為66M,發現在環境溫度上升到60多度后,產生了Hardfault錯誤。
分析:懷疑是取指問題。
定位:1、將application配置為48M后,問題消失。
2、配置boot、application均為66M,問題重現。
3、再重新配置為24M,問題消失。
4、去掉boot,僅留application,一直配置為24M\48M\66M,發現在66M時問題重現。
5、懷疑為系統頻率PLL配置為題。
6、對源代碼的系統時鐘配置函數進行檢查。AHB,APH1,APH2對照手冊,為發現問題,查詢到
FLASH->ACR ,發現手冊里要求0~24M為0等待;24~48M為1個等待狀態;48M為兩個等待狀態。
發現代碼的等待狀態為1個等待狀態,重新配置:
if (HSE_VALUE <= 24000000)
{
FLASH->ACR |= (uint32_t)FLASH_ACR_LATENCY_0;
}
else
{
FLASH->ACR |= (uint32_t)FLASH_ACR_LATENCY_1;
}
7、驗證,發現問題解決。
另外一個問題,從application跳轉到boot后,進行application升級后,發現ADC等外設訪問出錯:
問題所在:在進行軟件跳轉前需要把ADC\SPI等外設disable掉。
歡迎光臨 (http://www.raoushi.com/bbs/)
Powered by Discuz! X3.1