1. 市面上的常用仿真器對 SWD 模式支持情況
2. SWD 硬件接口上的不同
測試環(huán)境
MDK 開發(fā)環(huán)境 版本號:V4.22
J-Flash ARM 燒寫軟件版本號:V4.02e
接線模式
功能狀態(tài) |
VCC、SWDIO、SWCLK GND (2根信號線對電源上拉10K電阻,此電阻在我們的小轉(zhuǎn)接板上) |
VCC、SWDIO、SWCLK GND (2根信號線對電源無上拉10K電阻,此電阻在我們的小轉(zhuǎn)接板上未焊接) |
VCC、SWDIO、SWCLK RST、GND |
SWDIO、SWCLK 、GND |
VCC、SWDIO、SWCLK |
MDK 下載及仿真 |
正常 |
正常 |
正常 |
不能下載 |
不能下載 |
MDK |
正常 |
正常 |
正常 |
不能下載 |
不能下載 |
MDK |
不穩(wěn)定 |
不穩(wěn)定 |
不穩(wěn)定 |
不能下載 |
不能下載 |
下載時(shí)目標(biāo)板是否需手動重啟 |
不需要 |
不需要 |
不需要 |
\ |
\ |
J-Flash ARM 下載 |
正常 |
正常 |
正常 |
不能下載 |
不能下載 |
MDK\options\Debug\setting \SW device 窗口 |
能正常識別芯片ID |
能正常識別芯片ID |
能正常識別芯片ID |
未能識別出芯片ID |
未能識別出芯片ID |
備注:我用2個(gè)編程器對以上情況分別進(jìn)行了測試,一個(gè)編程器是未進(jìn)行升級的,另一個(gè)編程器進(jìn)行了升級(升級到了4.80b),但升級最后時(shí)出現(xiàn)點(diǎn)小問題在4.7.3的MDK下仿真有問題。未升級的編程器按照上述方法進(jìn)行SWD下載,功能正常,但是那個(gè)升級過的編程器無法采用SWD下載,在MDK\options\Debug\setting\SW device 窗口 識別器件ID時(shí)總出現(xiàn)如下圖片:
原因分析:可能是升級過的編程器自身有問題,但這個(gè)編程器在4.22的MDK下用JTAG方式能夠正常下載及仿真。
二、使用J-Flash ARM 下載時(shí)一些問題
原因分析:出現(xiàn)此類情況,表明軟件與J-Link仿真器未能成功連接,但此時(shí)J-Link 在MDK 下卻仍能正常使用。解決此類問題的最有效方法是重啟電腦,有時(shí)多插拔幾次J-Link 編程器也能解決,有時(shí)把同時(shí)開著的MDK 關(guān)閉后,重新插拔J-Link也能解決。判斷此種故障一方面是編程器自身原因,一方面是電腦安裝的SEGGER 公司的J-Link 驅(qū)動軟件版本低,還有一種可能就是J-Link被MDK 占用了。
正常連接時(shí),如下圖:
未正常連接時(shí)如下圖: