http://www.ichanging.org/stm32-swd.html

找到一篇比较好的 关于stm32  SWD模式 下载 调试 配置文章 整理如下:

我们比较常用的是Jlink下载器 ,这种下载器有一个缺点就是使用的Jtag 20PIN接口,太多的PIN会导致一些小型的PCB板很拥挤,也会增加布线的难度。 而使用SWD接口下载调试,只需要要使用4个PIN:  GND, RST, SWDIO, SWDCLK ,而且下载速度可以达到10M/s,优势显而易见。
以下转自: http://www.openedv.com/posts/list/187.htm
我们所使用的Jtag  20PIN引脚图:                         相关原理图:
 
SWD 仿真模式概念简述
一、SWD 和传统的调试方式区别
  • SWD 模式比 JTAG 在高速模式下面更加可靠。 在大数据量的情况下面 JTAG 下载程序会失败, 但是 SWD 发生的几率会小很多。基本使用 JTAG 仿真模式的情况下是可以直接使用 SWD 模式的, 只要你的仿真器支持。 所以推荐大家使用这个模式。
  • 在大家 GPIO 刚好缺一个的时候, 可以使用 SWD 仿真, 这种模式支持更少的引脚。
  • 在大家板子的体积有限的时候推荐使用 SWD 模式, 它需要的引脚少, 当然需要的 PCB 空间就小啦! 比如你可以选择一个很小的 2.54 间距的 5 芯端子做仿真接口。
二、仿真器对 SWD 模式支持情况
1. 市面上的常用仿真器对 SWD 模式支持情况
(1) JLINKV6 支持 SWD 仿真模式, 速度较慢。
(2) JLINKV7 比较好的支持 SWD 仿真模式, 速度有了明显的提高,速度是 JLINKV6 的 6 倍。 
(3) JLINKV8 非常好的支持 SWD 仿真模式, 速度可以到 10M。
(4) ULINK1 不支持 SWD 模式。
(5) 盗版 ULINK2 非常好的支持 SWD 模式, 速度可以达到 10M。
(6) 正版 ULINK2 非常好的支持 SWD 模式, 速度可以达到 10M。
2. SWD 硬件接口上的不同
(1) JLINKV6 需要的硬件接口为: GND, RST, SWDIO, SWDCLK
(2) JLINKV7 需要的硬件接口为: GND, RST, SWDIO, SWDCLK
(3) JLINKV8 需要的硬件接口为: VCC, GND, RST, SWDIO, SWDCLK (注:下面有我自己用JLINKV8的实际连线及相应实验结果)
(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 是没有错的。
三、在 MDK 中SWD 模式的设置
在调试仿真的时候用J-LINK的Cortex-M3方式已经足够,并且在MDK下他的功能已经做得非常的好,用标准20脚的JTAG下载,速度是非常的快,一般初学者都是这样做的。但是SWD方式似乎速度更快、更加方便、简捷、,对于项目中对板子空间要求严格、I/O口资源紧张的用户来说更加的有利,正常的JTAG需要20管脚,而J-Link 的SWD只需要2根线(PA13/JTMS/SWDIO、PA14/JTCK/SWCLK)就够了(加上电源线也就4根),这样就节省了3个I/O口(PA15/JTDI、PB3/JTDO、PB4/JNTRST)为其它所用,并且可节省一部分板子的空间(只需4个口就可以了)。
下面我说一下SWD两线仿真的一些步骤、注意事项及需要注意的问题。
接口的连接如下:将JLINK的1、7、9、20分别与自己的开发板上JTAG的VCC、JTMS、JTCK、GND用杜邦线相连即可!
接下来告诉大家怎么使用SWD设置:
打开工程OPTION设置:
在设置中按照上图设置成 SWD 模式, 速度你可以按照你的实际需求来设置, 如果你的板子供电系统不是特别稳定, 纹波比较大或者仿真线比较长可以设置成 500K 或者 1M,如果环境很好当然可以选择 10M , 当然速度会飞起来。
记得不要忽略了左下方的那个USB还是 TCP 模式, 当然我们是 USB 模式, 因为有的时候默认是 TCP 模式, 这个时候我们忽略这个设置后会仿真常常连接不上的。
按SW方式来调试,实际需要接1,7,9,15,20脚,某些资料上说的需要6个脚(第13脚SWO也需要连上)是不对的,SWO不需要连接。
我的Jilnk 和 开发板 接线图:
  • 白色线 : 3.3v
  • 黑色线 : GND
  • 灰色线:SWIO
  • 紫色线:SWCLK
关于是否要接上 Reset 引脚的问题 我测试时并没有接上  可以正常下载和调试  而且下载速度设置为 10Mhz  仍然没有问题  速度的确快了很多 。。

STM32的SWD调试方式相关推荐

  1. STM32的调试方式、更新程序、仿真以及补救措施

    STM32的调试方式.更新程序.仿真以及补救措施 1. STM32的调试方式选择 STM32支持JTAG和SWD两种调试方式,且默认状态下这两种调试功能都是开启的. 由此我们可以知道: 如果要使用JT ...

  2. keil+stm32+jlink利用swd ITM 方式进行printf输出

    使用ITM机制实现调试stm32单片机,实现printf与scanf. 1. ITM简介 ITM机制是一种调试机制,是新一代调试方式,在这之前,有一种比较出名的调试方式,称为半主机(semihosti ...

  3. stm32 SWD调试接口的使用

    SWD 和传统的调试方式区别 1. SWD 模式比 JTAG 在高速模式下面更加可靠. 在大数据量的情况下面 JTAG 下载程序会失败, 但是 SWD 发生的几率会小很多.基本使用 JTAG 仿真模式 ...

  4. 2022-09-09 STM32 Jlink SWD接口SEGGER J-Flash烧录调试记录

    一.SWD接口 串行调试(Serial Wire Debug),与JTAG的20个引脚相比,SWD只需要4个(或者5个)引脚,结构简单,但是使用范围没有JTAG广泛,主流调试器上也是后来才加的SWD调 ...

  5. STM32使用SWD下载

    找到一篇比较好的 关于stm32  SWD模式 下载 调试 配置文章 整理如下: 我们比较常用的是Jlink下载器 ,这种下载器有一个缺点就是使用的Jtag 20PIN接口,太多的PIN会导致一些小型 ...

  6. ICP、ISP、IAP、JTAG、SWD下载方式

    目录 ICP.ISP.IAP.JTAG.SWD下载方式 概述 JTAG SWD ICP ISP IAP ISP与ICP的差别 ISP和IAP的差别 ICP.ISP.IAP.JTAG.SWD下载方式 概 ...

  7. STM32 的 JLink 调试时「Flash Timeout」和「Flash Download Failed」问题解决

    前天(7月12号)晚上从学弟手里拿到了一套神舟三号 STM32 板子,学弟说这个板子「时好时坏」的,有时候下不进去程序.我本来有一个 CEPARK 的板子,但是一直对神舟的板子很感兴趣,准备第二天试一 ...

  8. STM32用SWD口烧录程序导致锁死

    STM32用SWD口烧录程序导致锁死 SWD接口是四根线VCC,GND,SCK,DIO SCK是PA14 DIO是PA13 我在程序中用到了PA13,导致程序第一次能烧录进去,第二次就不可以烧录. 解 ...

  9. 基于STM32的Flash擦除方式

    基于STM32的Flash擦除方式 前言 介绍 STM32 FLASH 闪存的编程和擦除 Flash擦除的标准库函数 软件设计 直接使用固件库函数擦除当前地址所在的内容 擦除对应地址和大小的Flash ...

最新文章

  1. [转]小心C# 5.0 中的await and async模式造成的死锁
  2. 信息系统管理工程师考前复习笔记三
  3. Android移动开发之【Android实战项目】DAY8-Android studio查看SQLIte数据库文件
  4. CentOS 6.5 svn服务器2.0版
  5. android点9图architecture
  6. 第2章 Python与数据分析
  7. 获取某数据库中含有某字段的所有表的脚本
  8. SAP License:FICO面试问题
  9. AS-实践《第一行代码》中的出现的问题
  10. excel检验是否是正态分布-T分布
  11. ntfs格式硬盘如何读写mac苹果电脑
  12. 国庆节未休假的你,领到了三倍的工资吗?
  13. 电脑CPU型号末端字母都是什么意思
  14. Java一个汉字占几个字节(详解与原理)(转载)
  15. matlab:pause命令
  16. 电子证书管理系统前台_电商平台后台之商品管理系统组成模块
  17. 基于php和mysql实现的简易民航订票系统实验
  18. SPA(单页面应用)总结
  19. Python 完美立方数
  20. 如何下载网页上的音乐?不用注册!不用会员!不用播放器!

热门文章

  1. nyist--周期串
  2. 吐槽西电python oj 文章检测
  3. Error:(13, 8) 错误: xxx不是抽象的, 并且未覆盖xxx中的抽象方法onBindViewHolder(BaseSimpleRecyclerAdapter.ViewHolder,int)
  4. Java——反射机制(下)
  5. iphone OS、Android、Blackberry OS与Palm OS的比较
  6. 卧槽,爆款了!!!小游戏开发者,公测当日收益过千!
  7. lm80认证_你们做过LM-80测试什么产品需要做LM-80测试
  8. 成功者的秘密,花钱的诀窍所在!
  9. Linux常用命令——lsmod命令
  10. 杉岩数据:解读软件定义存储(SDS)及应用