史上最全面的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

 

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

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

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 阿里云MQTT服务器搭建与测试(全图文,非常详细)「建议收藏」

    阿里云MQTT服务器搭建与测试(全图文,非常详细)「建议收藏」阿里云MQTT服务器搭建与测试一、MQTT概念二、阿里云MQTT服务器搭建1阿里云平台注册及认证2添加平台2创建产品与设备获取MQTT连接相关信息三、MQTT.fx测试1MQTT.fx下载及安装2配置登录信息3从MQTT.fx上报数据到阿里云服务器4阿里云下发数据到MQTT.fx一、MQTT概念MQTT(MessageQueuingTelemetryTransport,消息队列遥测传输协议),是一种基于发布/订阅(publish/subscribe)模式的”轻量级”通讯协议,该

    2022年6月9日
    32
  • java 线程 (一) 线程的简单使用

    java 线程 (一) 线程的简单使用大家好,从今天开始,我和大家一起来探讨java中线程的使用。线程是java知识体系中非常重要的一部分,我将写一系列的文章来详细的介绍java线程中需要掌握的知识。如果你是java线程的初学者,本系列文章你一定不要错过哦。本篇文章是java线程系列文章的第一篇文章,主要介绍进程与线程的概念和java中如何使用线程。1进程与线程1.1进程的概念首先我们先来介绍一下什么是进程。进程可以理解为一个个正在执行的应用程序,比如我们使用网易云音乐软件播放音乐,同时我们在使用WP

    2022年7月7日
    23
  • HttpCanary下载_php自我介绍网页代码

    HttpCanary下载_php自我介绍网页代码前言首先,我们无论学习哪个框架,都要带着问题,带着思考去学习思考1:HttpRunner是什么?思考2:HttpRunner的设计模式是什么?思考3:为什么我们要学习HttpRunner?他的

    2022年7月28日
    6
  • js如何生成二维码_jquery 生成二维码无法识别

    js如何生成二维码_jquery 生成二维码无法识别前言最近根据自己的需求寻找到了一款简单易用的生成二维码插件,特此分享一、使用步骤1.下载插件npmiqrcodejs2或yarnaddqrcodejs2二、vue中使用1.vue2<template><div><divref=”qrcodeDom”></div><button@click=”show”>展示二维码</button><bu.

    2022年10月17日
    0
  • sql基本增删改查

    1增insertinto<表名>(列名)values(列值)例:insertintoStrdents(姓名,性别,出生日期)values(‘开心朋朋’,’男’,’1980/6/15′)2删2.1【删除<满足条件的>行】deletefrom<表名>[where<删除条件>]例:delet…

    2022年4月4日
    39
  • main(argc,argv)中参数含义_c语言int char

    main(argc,argv)中参数含义_c语言int char这篇文章主要介绍了C语言中intmain(intargc,char*argv[])的两个参数详解的相关资料,需要的朋友可以参考下:转载自:https://www.jb51.net/article/107168.htm        https://www.cnblogs.com/ruixingw/p/3705918.htmlC语言中intmain(inta…

    2025年6月3日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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