STM32 SWD下載口無法下載的原因和解決辦法
1.SWD的下載口在程序中被禁用,IO口被設置為普通IO口
2.芯片被鎖,原因有可能是程序執行了不正確的訪問導致芯片被鎖
3.供電不正常
4.SWD燒了
解鎖原因:
在下載程序的時候有時候會發生錯誤導致內核停止工作,這就意味著內核被鎖,這時候已經無法把程序下載進去了。
解決的辦法就是用ISP方式下載程序進去沖刷一遍,然後就好用了。
除非使能了讀保護,不然一般不會鎖死的。--來自網貼評論
解鎖的方法:
A. 用JLINK鏈接,把板子的的BOOT0置高,此時就已經可以識別芯片了,芯片解鎖,然後將BOOT0拉低就可以,既識別芯片又可以正常仿真了
B.用ISP模式,經UART串口全片刪除。
C.用rlink擦除下就好
D.SEGGER 的JLink ARM V4.08l包中的,Processor Specific Utilities->J-Link STM32 Unlock 工具就可以解鎖
E.https://blog.csdn.net/gmq_syy/article/details/82624755
F.https://www.cnblogs.com/eva0/p/6222257.html
短路復位電容,點下載,稍等幾秒(這個靠感覺嘍),斷開短路的電容,OK!大功告成!
這是因為復位的時候,禁止JTAG的寄存器也是復位狀態,所以JTAG就自動啟動,未被禁止。
網上搜集到的帖子:
帖子1:
原帖地址:
http://openedv.com/thread-86241-1-1.html
摘錄內容:
提問:
大家好,
我使用STM32F100R8的芯片,采用SWD(4線)連接方式.發現SWD連不上STM32.
請大家分析一下,主要有哪些原因?
1,如果不焊接晶振會不會影響jlink連接STM32?
2,BOOT0引腳串電子接到地了,如果沒有正確設置BOOT0 和BOOT1 會有影響這個嗎?
3,怎麽才能硬件上判斷當前的STM32芯片還是好的啊?
4,我使用jlink加轉接板在用4P排線接到板子上,排線長短會有影響嗎?
5我SWDIO和SWCLK分別結論上啦和下拉電阻,這個應該嗎?
答復:
1. 默認用內部RC的,沒有晶振不影響SWD,但如果程序用到,會有影響。STM32的SWD要求AVDD必須有電,如果是自己做的板子,建議好好對對,最好找老司機帶帶路。
2. 如果程序裏面沒有關SWD,或配置字沒有關SWD,BOOT接0不影響。
如果程序裏面有關了SWD,那把BOOT接1會容易連接上SWD。
如果是熔絲裏面關了SWD,那只能解鎖,最高級加密無法解鎖,只能報廢。
3.
4. 保證線的質量,盡量縮短長度,並嘗試降低速度。
但命令都不顯示內核,那得歸為錯誤了。
5. 不影響,只要電阻另太小,幾K到幾十K都可以。
改造JLINK接口的方法:
http://www.stmcu.org.cn/module/forum/thread-598871-1-1.html
擴展內容:
關於設置下載速度:
這個的話,建議點開debug-再點開setting-看到debug-jtag cmd,查看target interface speed,記下這個速度,關掉cmd,然後修改debug上的速度一致就行了
如果是JLINK能找到芯片但是KEIL找不到請下載補丁:
我用的單片機就沒有jtag接口,只留了4線的SW接口。
不過問題解決了,是MDK4.6對CM0+的內核支持不完善,在segger的官網下了個補丁,替換了一下就好了。
http://www.segger.com/IDE_Integration_Keil.html#knownproblems
我被自己蠢哭了,不過終於解決了,真的是好貼啊,謝謝水煮魚。。。我補充一下,下載還是點開水煮魚給的地址,然後下載dll文件,放在D:\Keil\ARM\Segger裏面替換原來文件,下載的文件的網頁截圖如下:
STM32對JTAG口的默認配置
https://blog.csdn.net/qq_26093511/article/details/56666320
仿真進不去的原因:
https://blog.csdn.net/fxltsbl007/article/details/52511687/
flymcu串口下載:
http://bookshiyi.com/archives/1258
擴展8:
如果出現讀取的id和工程設置的芯片id不符合的情況,多半是jlink本身有問題,固件與驅動不符,導致的讀取數據錯誤;可以嘗試更換低版本的驅動,有時候最新的不一定是最合適的。
https://blog.csdn.net/xuezhimeng2010/article/details/78771030
擴展9:
https://blog.csdn.net/DZRYWYBL/article/details/84704905
STM32 SWD下載口無法下載的原因和解決辦法