欧美极品高清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