1. 市面上的常用仿真器對(duì) SWD 模式支持情況
2. SWD 硬件接口上的不同
測試環(huán)境
MDK 開發(fā)環(huán)境 版本號(hào):V4.22
J-Flash ARM 燒寫軟件版本號(hào):V4.02e
接線模式
功能狀態(tài) |
VCC、SWDIO、SWCLK GND (2根信號(hào)線對(duì)電源上拉10K電阻,此電阻在我們的小轉(zhuǎn)接板上) |
VCC、SWDIO、SWCLK GND (2根信號(hào)線對(duì)電源無上拉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)板是否需手動(dòng)重啟 |
不需要 |
不需要 |
不需要 |
\ |
\ |
J-Flash ARM 下載 |
正常 |
正常 |
正常 |
不能下載 |
不能下載 |
MDK\options\Debug\setting \SW device 窗口 |
能正常識(shí)別芯片ID |
能正常識(shí)別芯片ID |
能正常識(shí)別芯片ID |
未能識(shí)別出芯片ID |
未能識(shí)別出芯片ID |
備注:我用2個(gè)編程器對(duì)以上情況分別進(jìn)行了測試,一個(gè)編程器是未進(jìn)行升級(jí)的,另一個(gè)編程器進(jìn)行了升級(jí)(升級(jí)到了4.80b),但升級(jí)最后時(shí)出現(xiàn)點(diǎn)小問題在4.7.3的MDK下仿真有問題。未升級(jí)的編程器按照上述方法進(jìn)行SWD下載,功能正常,但是那個(gè)升級(jí)過的編程器無法采用SWD下載,在MDK\options\Debug\setting\SW device 窗口 識(shí)別器件ID時(shí)總出現(xiàn)如下圖片:
原因分析:可能是升級(jí)過的編程器自身有問題,但這個(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ū)動(dòng)軟件版本低,還有一種可能就是J-Link被MDK 占用了。
正常連接時(shí),如下圖:
未正常連接時(shí)如下圖: