前段時(shí)間,做了一塊板子,調(diào)試接口只留了三個(gè)口SWD、SWCLK、GND,在使用Jlink的SWD方式調(diào)試的時(shí)候發(fā)現(xiàn)無法連接。使用ST-link的時(shí)候可以連接,無奈樓主的ST-link的鏈接方式相當(dāng)?shù)牟豢煽?,時(shí)而能識(shí)別時(shí)而不能識(shí)別:當(dāng)然我的ST-link是山寨版的。
那么問題來了:為什么通過20針全部連接的方式可以調(diào)試,而三針的方式就不行了呢?
通過查閱網(wǎng)上資料發(fā)現(xiàn),jlink的20針,不光有調(diào)試的功能還有供電和檢測(cè)電壓的功能。
下面是jlink的接口圖
通過上面圖片可以發(fā)現(xiàn),jlink的1腳叫做VTref,這個(gè)從字面意思理解應(yīng)該是參考電壓的意思,沒錯(cuò),這個(gè)管腳就是板子給Jlink內(nèi)部緩沖芯片供電的接口,這個(gè)地方供幾伏,緩沖芯片的IO電平就是幾伏的。起了一個(gè)電平匹配的作用。
20針JTAG的2號(hào)針可以提供VCC供電。打開J-Link
Commander輸入power on時(shí),發(fā)現(xiàn)2號(hào)針腳輸出的是3.3V電壓,那么可以通過直接短路1、2號(hào)針來解決問題。
山寨版Jlink的2腳可以向外提供3.3V電壓,那么短接1、2腳的話是可以讓Jlink正常使用的,如果你的Jlink的2腳輸出的是5V話那么最好就不要這樣短接來用了。
好多板子上的20針調(diào)試接口是按下圖連接的。
那么短接完成,如果再采用20針調(diào)試的時(shí)候就要注意了,jlink的3.3V千萬不要與開發(fā)板上20針接口的3.3V接在一塊,否則會(huì)有燒壞jlink的可能,這個(gè)時(shí)候就要設(shè)置jlink不給開發(fā)板供電了。
樓主的解決方式是在jlink的2腳上加了一個(gè)開關(guān),當(dāng)需要jlink給開發(fā)板供電的時(shí)候,開關(guān)打到3.3V上,當(dāng)不需要內(nèi)部供電的時(shí)候呢打到懸空上。這樣就可以同時(shí)使用三線的SWD和20線的JTAG與SWD調(diào)試方式了。
JLINK仿真器用SWD模式下載/調(diào)試只需三根線
stm32上的jlink接口有20個(gè),然而并不是所有的接口都是必須的,在網(wǎng)上找了一些資料,想用杜邦線連接stm32和jlink仿真器,因?yàn)榕啪€實(shí)在難插拔。
試了一下只需三根線就可以下載和調(diào)試,分別是1、7、9三根線;閱讀方法,缺口朝上。下面附圖:(20腳實(shí)際上可以不接,但是VCC一定要接,不然下載會(huì)報(bào)錯(cuò))
評(píng)論
查看更多