1. 市面上的常用仿真器对 SWD 模式支持情况
2. SWD 硬件接口上的不同
测试环境
MDK 开发环境 版本号:V4.22
J-Flash ARM 烧写软件版本号:V4.02e
接线模式
功能状态 |
VCC、SWDIO、SWCLK GND (2根信号线对电源上拉10K电阻,此电阻在我们的小转接板上) |
VCC、SWDIO、SWCLK GND (2根信号线对电源无上拉10K电阻,此电阻在我们的小转接板上未焊接) |
VCC、SWDIO、SWCLK RST、GND |
SWDIO、SWCLK 、GND |
VCC、SWDIO、SWCLK |
MDK 下载及仿真 |
正常 |
正常 |
正常 |
不能下载 |
不能下载 |
MDK |
正常 |
正常 |
正常 |
不能下载 |
不能下载 |
MDK |
不稳定 |
不稳定 |
不稳定 |
不能下载 |
不能下载 |
下载时目标板是否需手动重启 |
不需要 |
不需要 |
不需要 |
\ |
\ |
J-Flash ARM 下载 |
正常 |
正常 |
正常 |
不能下载 |
不能下载 |
MDK\options\Debug\setting \SW device 窗口 |
能正常识别芯片ID |
能正常识别芯片ID |
能正常识别芯片ID |
未能识别出芯片ID |
未能识别出芯片ID |
备注:我用2个编程器对以上情况分别进行了测试,一个编程器是未进行升级的,另一个编程器进行了升级(升级到了4.80b),但升级最后时出现点小问题在4.7.3的MDK下仿真有问题。未升级的编程器按照上述方法进行SWD下载,功能正常,但是那个升级过的编程器无法采用SWD下载,在MDK\options\Debug\setting\SW device 窗口 识别器件ID时总出现如下图片:
原因分析:可能是升级过的编程器自身有问题,但这个编程器在4.22的MDK下用JTAG方式能够正常下载及仿真。
二、使用J-Flash ARM 下载时一些问题
原因分析:出现此类情况,表明软件与J-Link仿真器未能成功连接,但此时J-Link 在MDK 下却仍能正常使用。解决此类问题的最有效方法是重启电脑,有时多插拔几次J-Link 编程器也能解决,有时把同时开着的MDK 关闭后,重新插拔J-Link也能解决。判断此种故障一方面是编程器自身原因,一方面是电脑安装的SEGGER 公司的J-Link 驱动软件版本低,还有一种可能就是J-Link被MDK 占用了。
正常连接时,如下图:
未正常连接时如下图: