史上最全面的JTAG和SWD接口的定义/STM32/STM8工程师的福音/JTAG转SWD接口仿真/告别杂乱的仿真线/终于讲清楚了JTAG/SWD

史上最全面的JTAG和SWD接口的定义/STM32/STM8工程师的福音/JTAG转SWD接口仿真/告别杂乱的仿真线/终于讲清楚了JTAG/SWD一、前言作为一名嵌入式工程师,相信大家都十分清楚MCU开发或者ARM开发都避免不了关键的研发过程,产品研发过程中的程序调试更是举足轻重般的存在。从8051内核到ARM内核,自己也接触了很多的调试工具和调试手段;今天在此给大家分享一下使用ST-LINK仿真调试器的一些基础知识和好物推荐。二、ST-LINK仿真器说明ST-Link是用于STM8和STM32微控制器在线调试器和编程器,ST-Link本身具有SWIM、JTAG/SWD通信接口,适用于STM8和STM32微控制器的软件调试仿真。

大家好,又见面了,我是你们的朋友全栈君。

一、前言

作为一名嵌入式工程师,相信大家都十分清楚MCU开发或者ARM开发都避免不了关键的研发过程,产品研发过程中的程序调试更是举足轻重般的存在。

从8051内核到ARM内核,自己也接触了很多的调试工具和调试手段;今天在此给大家分享一下使用ST-LINK仿真调试器的一些基础知识和好物推荐。

二、ST-LINK仿真器说明

ST-Link是用于STM8和STM32微控制器在线调试器和编程器,ST-Link本身具有SWIM、JTAG / SWD通信接口,适用于STM8和STM32微控制器的软件调试仿真。

SWIM:Single Wire Interface Module,可以简单翻译为:单线接口模块。
JTAG:Joint Test Action Group,联合测试工作组规定的一种仿真协议,它是一种国际标准测试协议。
SWD:Serial Wire Debugging,翻译为:串行调试接口。

其中STM8使用的调试仿真接口是SWIM;STM32使用的调试仿真接口为JTAG或者SWD;因为SWD占用的MCU引脚数相比JTAG较少,所以一般情况下项目中大部分工程师都是采用SWD作为仿真调试接口。
三种接口如下图所示:

史上最全面的JTAG和SWD接口的定义/STM32/STM8工程师的福音/JTAG转SWD接口仿真/告别杂乱的仿真线/终于讲清楚了JTAG/SWD

三、标准的JTAG和SWD接口定义如下:

史上最全面的JTAG和SWD接口的定义/STM32/STM8工程师的福音/JTAG转SWD接口仿真/告别杂乱的仿真线/终于讲清楚了JTAG/SWD

ST-LINK仿真上JTAG/SWD接口定义如下图所示,如果使用SWD进行STM32的仿真时,需要接下面红色框框中的4根线到MCU端;并且MCU需要单独供电,ST-LINK不提供电源给MCU。

史上最全面的JTAG和SWD接口的定义/STM32/STM8工程师的福音/JTAG转SWD接口仿真/告别杂乱的仿真线/终于讲清楚了JTAG/SWD

四、按照上述的连接方法连接仿真器和STM32目标板,用到SWD引脚分别为:TVCC、GND、TMS(SWDIO)、TCK(SWCLK);在ST官方资料的调试仿真章节也有说明,截图如下:

史上最全面的JTAG和SWD接口的定义/STM32/STM8工程师的福音/JTAG转SWD接口仿真/告别杂乱的仿真线/终于讲清楚了JTAG/SWD
STM32F101XX102xx103xx中文参考手册

连接后大概是下图的情况,显的稍微有些凌乱哈;ST-LINK上并没有丝印说明这20个引脚种各个引脚功能,这就造成了很大的困扰,需要上网查引脚定义,关键有时候网上资料讲的模棱两可。如果杜邦线从ST-LINK不小心掉下来,就需要再次查找引脚定义,简单来讲就是各种的不方便。

史上最全面的JTAG和SWD接口的定义/STM32/STM8工程师的福音/JTAG转SWD接口仿真/告别杂乱的仿真线/终于讲清楚了JTAG/SWD

像我这种小白来讲,真的痛苦不已;终于有一天在网上找到了一个解决方案(如下图所示)一个JTAG转SWD转接板,虽然不算最理想的解决方案,但对于我来讲,这样的上手体验更加快捷;

史上最全面的JTAG和SWD接口的定义/STM32/STM8工程师的福音/JTAG转SWD接口仿真/告别杂乱的仿真线/终于讲清楚了JTAG/SWD

再也不用担心因为杜邦线掉下来后,需要再次查找JTAG/SWD的接口定义而浪费时间;JTAG转SWD转接板上的JTAG引脚和SWD引脚都已经通过排针引出来,并且旁边有丝印进行注明(正反面都有哟),更加方便大家对各个引脚的识别;如果项目中用到的是JTAG接口,也可以方便的进行连接。

在JTAG转SWD转接板的背面,还增加了励志语句的丝印,希望各位大师都能享受项目的研发,希望JTAG转SWD转接板能够带给你各种便利。

备注:背面的励志语句如下所示(根据批次的不同,语句可能不一样)

史上最全面的JTAG和SWD接口的定义/STM32/STM8工程师的福音/JTAG转SWD接口仿真/告别杂乱的仿真线/终于讲清楚了JTAG/SWD

如果感觉今天的知识对你有帮助,JTAG转SWD转接板有助于你项目开发,那么欢迎光顾以下店铺,感谢你的支持!

https://item.taobao.com/item.htm?spm=a2oq0.12575281.0.0.2b5e1deb0vt5Zq&ft=t&id=599787818946

 

——————————————————————————————————————————————

因为小编自己能力水平有限,文中难免有错误或表达不到的信息,还望广大阅读者留言批评指正,谢谢。
 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/129925.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • Log4j配置详解「建议收藏」

    Log4j配置详解「建议收藏」来自: http://www.blogjava.net/zJun/archive/2006/06/28/55511.htmlLog4J的配置文件(ConfigurationFile)就是用来设置记录器的级别、存放器和布局的,它可接key=value格式的设置或xml格式的设置信息。通过配置,可以创建出Log4J的运行环境。1.配置文件Log4J配置文件的基本格式如下:

  • 软件版本号规范与命名原则是什么_版本号格式

    软件版本号规范与命名原则是什么_版本号格式1.软件版本阶段说明*Alpha版:此版本表示该软件在此阶段主要是以实现软件功能为主,通常只在软件开发者内部交流,一般而言,该版本软件的Bug较多,需要继续修改。*Beta版:该版本相对于α版已有了很大的改进,消除了严重的错误,但还是存在着一些缺陷,需要经过多次测试来进一步消除,此版本主要的修改对像是软件的UI。*RC版:该版本已经相当成熟了,基本上不存在导致错误的B

  • 关于勒索病毒“永恒之蓝”的解决方案

    关于勒索病毒“永恒之蓝”的解决方案关于勒索病毒“永恒之蓝”的解决方案(没什么新鲜的,就是通过注册表关闭445端口)(首先,最近发现我的文章会被其他网站盗版,所以特此声明,本文原作来自http://www.cnblogs.com/an

  • javac 与 java的区别[通俗易懂]

    javac 与 java的区别[通俗易懂]java编译器名称是javac,是将源文件编译为字节码文件的程序,而java是java解释器的名称,也就是解释和执行字节码文件的程序。注意:::java源文件必须是具有  .java 扩展名java字节码文件必须具有  .class 扩展名 javac可以将java源文件编译为class字节码文件如javacHelloWorld.java运行javac命令后,如果成功编译没有错误的话…

  • 史上最全Java多线程面试题及答案[通俗易懂]

    史上最全Java多线程面试题及答案[通俗易懂]这篇文章主要是对多线程的问题进行总结的,因此罗列了40个多线程的问题。这些多线程的问题,有些来源于各大网站、有些来源于自己的思考。可能有些问题网上有、可能有些问题对应的答案也有、也可能有些各位网友也都看过,但是本文写作的重心就是所有的问题都会按照自己的理解回答一遍,不会去看网上的答案,因此可能有些问题讲的不对,能指正的希望大家不吝指教。 1、多线程有什么用?一个可能在很多人看来…

  • matlab2013a for linux/Ubuntu 安装步骤及创建快捷方式(ubuntu14.04下安装)

    matlab2013a for linux/Ubuntu 安装步骤及创建快捷方式(ubuntu14.04下安装)

    2021年11月24日

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号