|
電子星辰 發表于 2018-5-25 15:25 我是用的Cube,沒有設置Serial Wire,謝謝 |
|
2.1將B0拉高->重啟->下載->B0拉低。 下載進關閉SWD模式的程序時可使用此方法,也可用jink或串口下載沒有禁止swd模式的程序。在此要提醒,①使用CubeMX建立工程時,需設置Pinout->SYS->Debug為Serial Wire狀態。②在使用swd模式時最好使用五針,VCC、SWDIO、SWCLK、GND、REST,系統可將其復位,在其未關閉SWD模式時執行SWD下載(未驗證,有驗證的確認一下)。 2.2、檢查芯片有沒有虛焊/漏焊,可以用手按住芯片使其接觸良好進行下載。 2.3、檢查SWDIO和SWCLK有沒有反接,檢查下載線接觸是否良好。 2.4、檢查B0/B1都處于低電平狀態。10K電阻下拉至地。 2.5、檢查供電電壓及各個電源引腳是否供電良好。 在此處遇到問題,現象:內核有時能檢測到有時又檢測不到,重復下載出現不同狀態的報錯。原因是模擬電源基準電源芯片焊接錯誤,模擬供電引腳電壓為零。 2.6、確認jink/SWD沒有問題,下載其他芯片是否成功。 指示燈不亮,斷開jink與板子連接還是不亮或常顯紅色,jink問題,重刷固件! 指示燈為綠色,下載其他芯片失敗,顯示no sw-dp found,可能原因MDK4.6對CM0+的內核支持不完善,在segger的官網下了個補丁,替換了一下。替換之前備份JL2CM3.dll文件,若不是該問題可替換回來。 http://www.segger.com/IDE_Integration_Keil.html#knownproblems(轉載-愛吃水煮魚) 2.7、Debug選項中->Reset選項Autodetect與Sysresetreq來回切換嘗試。 2.8、選擇Cortex-M/R JINK/J-Trace(兩處:options for target ->debug中與options for target ->utilities)。 2.9、確認芯片型號以及flash大小。 2.10、options for target->target->code Generation選項中只勾選Use MicorLIB。 2.11、芯片掛了 2.12、jlink能讀到內核,下載程序時在即將完成時彈出Error: Flash Download failed - Cortex-M3。檢查復位電路是否有問題(BOM單標注10K,焊接人員將其焊接成100R,電阻過小導致jlink不能將芯片復位)。 |