stm32的调试接口SWD要配置下载器才可以既有下载功能又有io功能。
比较常用的是Jlink下载器 ,这种下载器有扒喊行一个缺点就是使用的Jtag 20PIN接口,太多的PIN会导致一些小型的PCB板很拥挤,也会增加布线的难度。 而使用SWD接口下载春哗调试,只渗洞需要要使用4个PIN: GND, RST, SWDIO, SWDCLK ,而且下载速度可以达到10M/s,优势显而易见。
打开工程OPTION设置:
1、SWD下载的优势
SWD 模式比 JTAG 在高速模式下面更加可靠. 在大数据量的情况下面 JTAG 下载 程序会失败, 但是 SWD 发生的几率会小很多. 基本使用 JTAG 仿拿拦昌真模式的情况下是可以直接使用 SWD 模式的。
2、SWD 模式支持情况
市面上的常用仿真器对 SWD 模式支持情况 (1) JLINKV6 支持 SWD 仿真模式, 速度较慢。 JLINKV7 比较好的支持 SWD 仿真模式消扒, 速度有了明显的提高,速度是 JLINKV6 的 6 倍。JLINKV8 非常好的支持 SWD 仿真模式, 速度可以到 10M。 (4) ULINK1 不支持 SWD 模式。
3、 SWD接口
随着ARM公司对Cortex系列的推出,采样SWD方式调试成了大家的首选。SWD不仅速度可以与JTAG媲美,而且使用的调试线少衡枯得多。很多人在采样SWD方式进行调试时,一般都是采用4线
1) SWD 仿真模式概念简述先所说 SWD 和传统的调试方式有什么不一样:
首先给大家介绍下经验之谈:
(一): SWD 模式比 JTAG 在高速模式下面更加可靠. 在大数据量的情况下面 JTAG 下载 程序会派渗失败, 但是 SWD 发生的几率会小很多. 基本使用 JTAG 仿真模式的情况下是可以直接使用 SWD 模式的, 只要你的仿真器 支持. 所以推荐大家使用这个模式.
(二): 在大家 GPIO 刚好缺一个的时候, 可以使用 SWD 仿真, 这种模式支持更少的引脚.
(三): 在大家板子的体积昌指有限的时候推荐使用 SWD 模式, 他需要的引脚少, 当然需要的 PCB 空间就小啦. 比如: 你可以选择一个很小的耐羡配 2.54 间距的 5 芯端子做仿真接口.
(2) 仿真器对 SWD 模式支持情况
再说说市面上的常用仿真器对 SWD 仿真的支持情况.
(1) JLINKV6 支持 SWD 仿真模式. 速度较慢.
(2) JLINKV7 比较好的支持 SWD 仿真模式, 速度有了明显的提高. 速度是 JLINKV6 的 6 倍.
(3) JLINKV8 非常好的支持 SWD 仿真模式, 速度可以到 10M.
(4) ULINK1 不支持 SWD 模式
(5) 盗版 ULINK2 非常好的支持 SWD 模式. 速度可以达到 10M.
(6) 正版 ULINK2 非常好的支持 SWD 模式. 速度可以达到 10M.
再所说硬件上的不同:
(1) JLINKV6 需要的硬件接口为: GND, RST, SWDIO, SWDCLK
(2) JLINKV7 需要的硬件接口为: GND, RST, SWDIO, SWDCLK
(3) JLINKV8 需要的硬件接口为: VCC, GND, RST, SWDIO, SWDCLK
(4) ULINK1 不支持 SWD 模式
(5) 盗版 ULINK2 需要的硬件接口为: GND, RST, SWDIO, SWDCLK
(6) 正版 ULINK2 需要的硬件接口为: GND, RST, SWDIO, SWDCLK
由此可以看到只有 JLINKV8 需要 5 个引脚. 那么给大家介绍下为什么有了 VCC 这个引脚时候有好处, 我的个人理解: 我认为有这个引脚是最合适的, 仿真器对目标板子的仿真需要用到 RST 引脚, 其实使用仿真器内部的 VCC 做这个功能其实并不是非常美妙. 因此 JLINKV8 选择了只和目标板共 GND, 但是不共 VCC. 因此我觉得这种模式最合理, 当然通常情况下仿真器和目标板共 GND 和 VCC 是没有错的.
参考资料:http://wuwei19840509.blog.163.com/blog/static/5925793220105213517310/
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)