找到一篇比较好的 关于stm32  SWD模式 下载 调试 配置文章 整理如下:
我们比较常用的是Jlink下载器 ,这种下载器有一个缺点就是使用的Jtag 20PIN接口,太多的PIN会导致一些小型的PCB板很拥挤,也会增加布线的难度。 而使用SWD接口下载调试,只需要要使用4个PIN:  GND, RST, SWDIO, SWDCLK ,而且下载速度可以达到10M/s,优势显而易见。

SWD 仿真模式概念简述

一、SWD 和传统的调试方式区别

1. SWD 模式比 JTAG 在高速模式下面更加可靠。 在大数据量的情况下面 JTAG 下载程序会失败, 但是 SWD 发生的几率会小很多。基本使用 JTAG 仿真模式的情况下是可以直接使用 SWD 模式的, 只要你的仿真器支持。 所以推荐大家使用这个模式。

2. 在大家 GPIO 刚好缺一个的时候, 可以使用 SWD 仿真, 这种模式支持更少的引脚。

3. 在大家板子的体积有限的时候推荐使用 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 模式, 这个时候我们忽略这个设置后会仿真常常连接不上的。

1.问:一直在核心板上玩 103ZE,都是些小程序 都是在RAM中调试的,而且只接三根线GND SWDIO SWCLK (VCC 直接接JLINK内部的),很爽利。不过今天要试IIS 要放一个大的数据进去,于是要烧到FLASH中去, 发现很快进度条走完, 然后显示失败,放狗一搜,说要接RESET,于是接上,果然下进去了...惨了,我PCB都画好了,都只有4线(VCC SWDIO SWCLK GND),以后怎么办呢?

答:可以不接,可以在MDK仿真器的设置里面不使用硬件复位,而是用system reset或者vect reset,前者适用的范围更广

2。问:JTAG引脚可以被复用为IO口,但是这样一来,JLINK就不能够连上芯片了。解决的方法有两种:

(1)另写一段程序,不要将JTAG复用为I/O口,然后将这段程序用串口工具写入芯片中;

(2)将BOOT0/BOOT1设置成为内部RAM启动,那么上电后就不会执行FLASH中的程序,这样JLINK就能顺利“接管”JTAG引脚。

Stm32-SWD下载调试配置相关推荐

  1. STM32 SWD下载口无法下载的原因和解决办法

    1.SWD的下载口在程序中被禁用,IO口被设置为普通IO口 2.芯片被锁,原因有可能是程序执行了不正确的访问导致芯片被锁 3.供电不正常 4.SWD烧了 解锁原因: 在下载程序的时候有时候会发生错误导 ...

  2. SWD下载调试接口原理深度剖析

    由于我们公司自己需要开发烧录工具,本人通过google搜相关文档和看ARM公司的技术文档,终于实现了这个功能.该篇幅敢很自信的说把SWD理论讲的最浅显易懂的. 作为ARM嵌入式工程师,下载调试器都应该 ...

  3. STM32单片机下载调试解决方案 e-link32

     在使用STM32单片机的时候,本人遇到以及看到同行们遇到了各种下载和调试过程中问题种种,比如下载器的驱动不合适,下载出现卡死,调试器会崩掉,还有同行购买了盗版的J-LINK在使用的过程中固件容易 ...

  4. STM32使用SWD下载

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

  5. STM32 SWD 只能下载一次的问题

    STM32 SWD 只能下载一次的问题 市面常见的STM32核心板有很多,以STM32F103c8t6核心板为例,实物如下图: 在核心板的使用过程中,常见的问题是只能通过swd方式下载1次程序,第2次 ...

  6. STM32开发板学习——USB、串口、JTAG、SWD下载的区别

    串口下载 特点:最简单经济 原理:实际是通过USB转TTL(CH340G) 方式:连接USB(USB1)口,flymcu软件下载程序 缺点:代码工程比较大时,难免存在一些 bug ,需要通过在线调试解 ...

  7. STM32的下载及调试模式 接口

    使用的最多的调试方式莫过于 JTAG  和SWD方式. JTAG: JTAG(Joint Test Action Group,联合测试行动小组)是一种国际标准测试协议(IEEE 1149.1兼容),主 ...

  8. 使用USB转TTL串口板和ST-LINK调试下载器给STM32单片机下载程序

    使用USB转TTL串口板和ST-LINK调试下载器给STM32单片机下载程序 简介 STM32的启动模式 JTAG和SWD接口引脚对比 驱动安装 使用官方STM32 ST-LINK Utility软件 ...

  9. 【基础】Qt-VS调试器下载与配置

    前言 因为MSVC版的Qt不自带调试器,所以在Windows上使用MSVC版的Qt进行开发时,需要配置调试器. 本文讲解了在Windows下,下载和配置MSVC版Qt调试器的过程,并给出下载地址. 调 ...

最新文章

  1. [20170711]关于tmux共享会话问题.txt
  2. Google也开始弄开源平台,好事啊
  3. python 计时器 timeit repeat 计算(语句)(函数)耗时 时间 运行时长
  4. Ajax Get请求获取后台返回的数据
  5. 全国计算机等级考试题库二级C操作题100套(第67套)
  6. HBase权威指南,架构:存储
  7. m3 pcb开孔 螺丝_螺丝过孔及工艺孔尺寸参照表
  8. 米勒-拉宾(MillerRabbin)素性测试算法模板
  9. python extractor_Python Extractor for Python Editor 1.2
  10. 人生如烟花,只要曾经绚烂过,便不枉此生
  11. 苹果在线商店开售官方翻新Retina MacBook Pro
  12. Web项目中前端页面引用外部Js和Css的路径问题
  13. 国密(3)- 预主密钥/主密钥计算和Finished消息的加解密
  14. 使用html制作一个旅游网站
  15. linux忘记密码修改密码_如何更改我的Linux密码
  16. 用户请求网站提示 网络连接错误
  17. maven 常用命令goal
  18. Unity 灯光与渲染 (一)
  19. 华清远见嵌入式培训_第一周回顾与反思
  20. U盘识别不出来怎么办?

热门文章

  1. 腾讯2021校园招聘-后台综合-第二次笔试 Apare_xzc
  2. TSN(时间敏感网络)纯干货分享
  3. Linux-------线程安全
  4. matlab数值微分与数值积分
  5. python读取文件详解_python 文件读取方法详解
  6. 经历--比赛绿盟_安全研究员
  7. 漫画丨什么是边缘云?
  8. [前端系列]vue3修改模板变量间隔符
  9. EAS收集KSQL日志的方法
  10. C站 APP 搜索工具使用体验与对比