關於STM32燒錄時出現No target connected問題的解決方法


一、問題描述

  • 開發板型號:STM32F103C8T6
  • IDE: Keil5
  • 仿真器:ST-LINK/V2(使用用SWJ調試)
  • 出現問題:燒錄程序時,出現No target connected的提示,具體如下圖所示:



二、問題分析及解決辦法

 出現這種問題有兩種可能:

1.最簡單的情況:SWJ接口連線出現問題

 你SWJ調試的4根線接錯了或接觸不良,電源線、GND、SWCLK、SWIO這四根線要按順序對應的相接。如果你反復檢查,確保線序正確,接觸良好后還是出現No target connected的錯誤,那么你可能就是第二種情況。

2.情況:SWJ功能在代碼中被關閉了

 這種情況的特點往往是:之前燒錄都好好的,某次燒錄后突然就不行。並且當你一直按着開發板的reset鍵時,你會發現又能識別設備了(根據這個現象,網上有給出先按住reset鍵,在點燒錄按鈕后立刻松開reset的笨辦法,這個方法看手速和人品,有概率解決)。

出現這種情況的原因是,你燒錄的代碼里把芯片的SWJ調試功能給屏蔽了。這部分的代碼在stm32f1xx_hal_msp.c這個文件的HAL_MspInit()函數里,
如圖:正是__HAL_AFIO_REMAP_SWJ_DISABLE()這個函數把SWJ調試功能屏蔽了,所以你連接swj沒反應。

解決辦法是:把這句代碼刪了,編譯后用上面的笨辦法燒錄進去,以后只點燒錄按鈕即可!(如果是JTAG調試,道理類似)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM