由于本人能力有限,從原理圖到最后的調(diào)試,多多少少都會有不足之處,望各位高手能夠體諒并指正。如果整篇文章能夠帶給你哪怕一點點的幫助,那就不枉費我花了那么多時間來弄這個。首先我們先對Jlink ARM-OB STM32 進行一些了解:
Jlink ARM-OB STM32 是 SEGGER 公司為開發(fā)板定制的板載Jlink調(diào)試方案。除了不能測試目標(biāo)板電壓外,此Jlink 與正式版功能幾乎一致(速度限制到 2MHz)。
受一篇文章啟發(fā),參考資料,筆者制作了此文所提的 Jlink 簡化版,經(jīng)過將近半年的測試,其不但工作穩(wěn)定,而且攜帶方便,故此與大家分享。
????
?????? 其特點為:
? + 支持IAR EWARM 和 KEIL MDK;
? + 僅支持 SW 兩線調(diào)試;
? + 工作穩(wěn)定,無丟失固件現(xiàn)象;
? + 僅U盤大小,攜帶方便;
? + 接口簡化,僅用三根線,完成高速調(diào)試、下載;
? + 僅需要三腳 XH2.54 連接器,大大節(jié)約PCB面積;
? + 與JTAG 相比,僅需兩根線(TMS / TCK),可節(jié)約若干條 IO 口。
其中用到的材料有:
IC:
STM32F103C8T * 1
RT9193 * 1
電阻(0603封裝):
100R * 5
10K * 1
1K * 1
1K5 * 1
22R * 2
電容(0805封裝):
105(1uF) * 2
104(0.1uF) * 6
22pF * 4
接插件:
杜邦排針(燒寫用) * 3
3線XH2.54 * 1
USB_A插頭 * 1
LED(0805 0603均可) * 1
8MHz晶振(貼片) * 1
??????? 成品圖如下圖所示:
?
下面是詳細制作過程,首先就是PCB,該方案的最初設(shè)計是借鑒了IAR公司的開發(fā)板原理圖,后又經(jīng)優(yōu)化后,得到了目前的版本,如下圖所示
原理圖是用OrCad Capture CIS畫的,感覺用起來比AD要舒服一些,外表沒有AD花哨,但是用戶體驗做得很好。
電源部分用的是RT9193,線性穩(wěn)壓,價格便宜,體積小,最大輸出電流300mA,對于下載器來說已經(jīng)足夠了。左側(cè)中間的接線端子用于給STM32燒寫固件,其他部分沒什么難度,照著畫就行。
接下來就是最讓我糾結(jié)的布線,由于板子并不復(fù)雜,于是選擇了AD進行布線,封裝用的是AD自帶或者LP Wizard生成的。經(jīng)過幾天以來反復(fù)的調(diào)整,總算是出來一個初級版本了。接著出GerBer,制作,等待……
PCB拿到手之后,第一感覺還是很不錯的,唯一的缺憾就是USB那邊多出來了零點幾個毫米(設(shè)計缺陷),會影響USB插頭的安裝,砂紙簡單處理之,搞定。
?????????? 接下來,到了展現(xiàn)本人焊工的時候了,經(jīng)過反復(fù)折騰,看上去還是挺不錯的,電容電阻全部選用0603封裝,焊起來比較考驗功夫,不過有松香就另當(dāng)別論了。
最后曬一下工作臺的照片。
????????? 硬件搞定后就是固件燒寫了,燒寫工作需要一個通用版的JLink,之后就可以雞生蛋蛋生雞了,為了節(jié)省板子空間,固件燒寫接口仍采用SW模式,20針JTAG工作在SW模式下的引腳定義如下:
只需要SWD、SWC、GND三根線,即7號、9號及GND中的任意一根針,由于固件燒寫一次后就不再使用(掉固件的可能性非常低),因此不需要再焊排針上去了,把杜邦排針插上去,斜方向給點力就能良好接觸,如下圖
連接順序:插針,原始JLink上電,燒寫器上電(USB)。斷開時步驟相反,切不可顛倒!尤其不能在上電時斷開上圖中的連接,否則會燒壞器件!
打開J-Flash ARM
選擇File-OpenProject,由于默認工程中沒有C8T的選項,所以選擇相近的STM32F103RB.jflash 并在Options-ProjectSettings里面,將目標(biāo)元件改為C8T
選擇File-OpenDataFile選擇燒寫器的固件(網(wǎng)絡(luò)獲?。?/p>
點擊Target-Connect,會出現(xiàn)以下信息
表示檢測并連接到目標(biāo)芯片,但由于電壓過低,斷開連接。
對于全功能JLink,1號針的功能有兩個:檢測目標(biāo)板電壓;為內(nèi)部的電平轉(zhuǎn)換芯片提供輸出端參考電壓。也就是說,如果目標(biāo)板電壓為3.3V,那么這里也必須給1號針提供3.3V電壓,才能保證正常輸出。由上圖可知,20針JTAG的2號針可以提供VCC供電,而當(dāng)我打開J-Link Commander輸入power on時,卻發(fā)現(xiàn)2號針輸出的是5V電壓,如法通過直接短路1、2號針來解決問題。正當(dāng)我手足無措的時候,發(fā)現(xiàn)JLink的主芯片燒寫接口上,有一根線的寬度很可疑
?????? 左起第一根線的寬度,用作信號線的可能性很小,極有可能是起到供電的作用,于是拿起萬用表,果然!
于是犧牲掉一根杜邦線,問題解決
最終接口連線如圖
? 整體效果
再次Connect,錯誤消失
點擊Target-Auto 自動下載固件,下載成功后出現(xiàn)如下提示
斷開連接,重新插上燒寫器,電腦提示找到JLink,至此,制作成功~
進入MDK的JLink設(shè)置頁,第一次進入會提示固件升級
之后選擇SW模式
完成后就可以正常使用了,單步調(diào)試什么的都可以完美支持,不過速度會稍微慢一點(2M),畢竟只有3跟線
體積測試:
與優(yōu)盤共存,空間會有點吃緊,不過與USB延長線共存還是很輕松滴
評論
查看更多