解决烧录问题:Jlink的三线制SWD方式连接STM32芯片无法识别的解决方案
網(wǎng)上找到此文章解決了j-flash只能連接后不能燒錄的問(wèn)題,希望遇到相同問(wèn)題的小伙伴,可以用同樣的辦法解決:
?
前段時(shí)間,做了一塊板子,調(diào)試接口只留了三個(gè)口SWD、SWCLK、GND,在使用Jlink的SWD方式調(diào)試的時(shí)候發(fā)現(xiàn)無(wú)法連接。使用ST-link的時(shí)候可以連接,無(wú)奈樓主的ST-link的鏈接方式相當(dāng)?shù)牟豢煽?#xff0c;時(shí)而能識(shí)別時(shí)而不能識(shí)別:當(dāng)然我的ST-link是山寨版的。
那么問(wèn)題來(lái)了:為什么通過(guò)20針全部連接的方式可以調(diào)試,而三針的方式就不行了呢?
古人云知之為知之,不知Google之,Google不讓用,那就問(wèn)度娘好了。
通過(guò)查閱網(wǎng)上資料發(fā)現(xiàn),jlink的20針,不光有調(diào)試的功能還有供電和檢測(cè)電壓的功能。
下面是jlink的接口圖
?
通過(guò)上面圖片可以發(fā)現(xiàn),jlink的1腳叫做VTref,這個(gè)從字面意思理解應(yīng)該是參考電壓的意思,沒(méi)錯(cuò),這個(gè)管腳就是板子給Jlink內(nèi)部緩沖芯片供電的接口,這個(gè)地方供幾伏,緩沖芯片的IO電平就是幾伏的。起了一個(gè)電平匹配的作用。
20針JTAG的2號(hào)針可以提供VCC供電。打開(kāi)J-Link?
Commander輸入power on時(shí),發(fā)現(xiàn)2號(hào)針腳輸出的是3.3V電壓,那么可以通過(guò)直接短路1、2號(hào)針
來(lái)解決問(wèn)題。
樓主的山寨版Jlink的2腳可以向外提供3.3V電壓,那么短接1、2腳的話是可以讓Jlink正常使用的,如果你的Jlink的2腳輸出的是5V話那么最好就不要這樣短接來(lái)用了。
好多板子上的20針調(diào)試接口是按下圖連接的。
?
那么短接完成,如果再采用20針調(diào)試的時(shí)候就要注意了,jlink的3.3V千萬(wàn)不要與開(kāi)發(fā)板上20針接口的3.3V接在一塊,否則會(huì)有燒壞jlink的可能,這個(gè)時(shí)候就要設(shè)置jlink不給開(kāi)發(fā)板供電了。
?
樓主的解決方式是在jlink的2腳上加了一個(gè)開(kāi)關(guān),當(dāng)需要jlink給開(kāi)發(fā)板供電的時(shí)候,開(kāi)關(guān)打到3.3V上,當(dāng)不需要內(nèi)部供電的時(shí)候呢打到懸空上。這樣就可以同時(shí)使用三線的SWD和20線的JTAG與SWD調(diào)試方式了。
?
/************************************************************/
我自己遇到的問(wèn)題是燒寫(xiě)stm32f103c8t6 硬件環(huán)境:只接SWD、SWCLK、GND 三根線,在接外部電源3.3v供電;軟件環(huán)境:win10,JlinkV450/JlinkV490/JlinkV502c 都是一樣的情況,J-flash 報(bào)錯(cuò):
- ERROR: RAM check failed @ address 0x20000000.
- ERROR: Write: 0x03020100 07060504
- ERROR: Read: 0xAAAAAAAA AAAAAAAA
- ERROR: (0 bytes of RAM have been checked successfully)
- ERROR: Failed to test speed
解決辦法:
短接Jtag接口的1 2 腳即可正常燒寫(xiě),但是之前燒寫(xiě)stm32vet6不需要短接也可以正常燒寫(xiě),還是比較困惑的,不太清楚根本原因在哪里。
總結(jié)
以上是生活随笔為你收集整理的解决烧录问题:Jlink的三线制SWD方式连接STM32芯片无法识别的解决方案的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: stm32 bootloader跳转
- 下一篇: Jlink SWD和Jtag下载失败总结