前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >史上最全面的JTAG和SWD接口的定义/STM32/STM8工程师的福音/JTAG转SWD接口仿真/告别杂乱的仿真线/终于讲清楚了JTAG/SWD

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

作者头像
全栈程序员站长
发布于 2022-08-10 03:03:40
发布于 2022-08-10 03:03:40
17K0
举报

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

一、前言

作为一名嵌入式工程师,相信大家都十分清楚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接口定义如下:

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

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

STM32F101XX102xx103xx中文参考手册

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

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

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

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

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

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

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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年4月2,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
怎样使用Cython提升Python的性能
Python是一门易学易用的编程语言,因此在许多领域都有广泛的应用。然而,Python的执行速度相比于C、C++等编译语言通常会慢一些。在某些对计算性能有高要求的领域,如科学计算、数据处理等,这个问题就变得尤为重要。为了解决这个问题,一种名为Cython的语言应运而生。
阿珍
2024/06/17
2340
怎样使用Cython提升Python的性能
Python中的cython介绍
Cython是一种用于将Python代码转换为C或C++代码的编译器。它是Python和C/C++之间的一种桥梁,可以提供更高的执行效率和更好的性能。Cython既是一种编程语言,也是一种编译器,它可以将Python代码转换为C或C++代码,并在编译时将其转换为机器码,以提高代码的执行速度。
大盘鸡拌面
2023/10/12
7720
30倍!使用Cython加速Python代码
如果你的代码是纯Python。如果你有一个很大的for循环,你只能使用它,而不能放入矩阵中,因为数据必须按顺序处理,那该怎么办?有没有办法加快Python本身的速度?
量化投资与机器学习微信公众号
2019/07/30
1.9K0
30倍!使用Cython加速Python代码
使用 Cython 加密 Python 代码防止反编译
👋 你好,我是 Lorin 洛林,一位 Java 后端技术开发者!座右铭:Technology has the power to make the world a better place.
Lorin 洛林
2024/05/08
9660
使用 Cython 加密 Python 代码防止反编译
使用Cython将Python代码转为C语言,从而提高代码保密性
Cython是Python编程语言和扩展 Cython 编程语言(基于Pyrex)的优化静态编译器。 它使得为 Python 编写 C 扩展就像 Python 本身一样容易。这允许编译器从 Cython 代码生成C代码。 显而易见的是,它能将python代码翻译为C代码,然后生成符合Python/C API的动态链接库。这样就能更好的保护你的python源码不被破解。例如你的代码包含了核心的量化交易策略。将其转为机器语言才能更好的保护你的核心代码。另外一方面,Cython也带来了一些扩展,使得你可以通过添加静态类型声明,将原本的python代码的性能逼近纯C语言的性能。
zy010101
2022/09/21
5.6K0
如何用Python和Cython加速NumPy数组操作?
在进行科学计算或数据分析时,NumPy数组是一种常用的数据结构。然而,随着数据规模的增大和运算的复杂化,NumPy的计算性能有时无法满足高效处理的需求。在这种情况下,使用Cython可以显著提升NumPy数组的运算效率。
sergiojune
2024/10/25
3000
如何用Python和Cython加速NumPy数组操作?
Cython入门
setup这一年也是遇到了很多次,随着python编程学习的不断深度对于python的了解也不断在增加,这里做一次简单的小节。
狼啸风云
2019/11/03
2.2K0
使用Cython保护Python源代码
使用Cython保护Python源代码 **保护您的Python源不受不必要的影响,说起来容易做起来难,因为.pyc字节码是可反编译的,并且混淆很容易被反向工程。我花了一段时间才弄清楚隐藏Python代码的正确方法...... Cython是一个优化的静态编译器,可以将.py模块转换为高性能的C文件,生成的C文件可以毫不费力地编译到本机二进制库中。编译完成后,无法将编译库转换回可读的Python源代码! 1. 安装 Cython pip install cython 2. 添加 hello.pyx 假
py3study
2020/01/13
2.3K0
Cython初识
python作为一门强大的脚本语言,优势自然不必说。但是,当我们的模型较复杂,运算量较大的时候,python的短板就会出现,就是运算速度慢。当然,解决这一问题有很多方法,比如pypy的jit技术,但是抛开稳定性不提,使用pypy有很多限制,而且不是那么工程化。所以,向大家介绍Cython,方便将别的应用场景中的一些重计算的部分单独取出来,然后用Cython改写,独立成模块来提高运算速度。
种花家的奋斗兔
2020/11/13
9010
一日一技:立竿见影地把你的 Python 代码提速7倍
在我们以前的文章中,曾经讲过计算斐波那契数列的几种方法,其中基于递归的方法是速度最慢的,例如计算第40项的值,需要36秒。如下图所示:
青南
2020/04/26
8810
一日一技:立竿见影地把你的 Python 代码提速7倍
让Python提速超过30倍的必杀技:Cython
人工智能最火的语言,自然是被誉为迄今为止最容易使用的代码之一的Python。Python代码素来以直观、高可读性著称。
CDA数据分析师
2019/08/05
1.3K0
让Python提速超过30倍的必杀技:Cython
Cython入门到放弃(一)
        python作为一门强大的脚本语言,优势自然不必说,目前中低频的量化投资基本都是使用python作为research和production作为语言。但是,当我们的模型较复杂,运算量较大的时候,python的短板就会出现,就是运算速度慢。
钱塘小甲子
2019/01/28
3K0
【转】python打包成so-* -coding: UTF-8 -* -
Python是一种面向对象的解释型计算机程序设计语言,具有丰富和强大的库,使用其开发产品快速高效。
微风、掠过
2018/08/02
1.8K0
提升 Python 性能 - Numba 与 Cython
花下猫语:最近,读者微信群里又频繁聊到了 Python 的性能问题,这真是老生常谈了。我想起自己曾收藏过几篇关于如何提升性能的文章,似乎挺有帮助的,便去联系了下作者,现在已经取得转载授权啦。今天分享其中一篇,后续还会有其它相关分享,希望对读者们也有所帮助。
Python猫
2019/08/08
1.2K0
提升 Python 性能 - Numba 与 Cython
Python3.X使用Cython调用C/C++
pxd 文件可以看成是Cython(即pyx文件)的头文件,关于pxd和pyx文件可以简单如下来理解:
superhua
2019/03/07
2.1K0
提速30倍!这个加速包让Python代码飞起来
Python是社区里最受喜爱的编程语言!它是目前为止最易使用的语言,因为它的代码短小精悍,符合人们的思维方式,也符合人们的阅读习惯。
大数据文摘
2019/08/03
1K0
python打包二进制文件(pyd\dll\exe)
使用cython编译pyx文件输出c和h文件(带cdef public等定义才会输出头文件),pyx添加
sofu456
2022/03/07
3.4K0
python打包二进制文件(pyd\dll\exe)
使用 C 优化你的 Python 代码
Cython 是 Python 编程语言的编译器,旨在优化性能并形成一个扩展的 Cython 编程语言。作为 Python 的扩展,Cython 也是 Python 语言的超集,它支持调用 C 函数和在变量和类属性上声明 C 类型。这使得包装外部 C 库、将 C 嵌入现有应用程序或者为 Python 编写像 Python 一样简单的 C 语言扩展语法变得容易。
用户8639654
2021/09/13
8850
常见 Python 代码优化技巧
代码优化能够让程序运行更快,它是在不改变程序运行结果的情况下使得程序的运行效率更高,根据 80/20 原则,实现程序的重构、优化、扩展以及文档相关的事情通常需要消耗 80% 的工作量。优化通常包含两方面的内容:减小代码的体积,提高代码的运行效率。
昱良
2019/08/06
1.2K0
如何避免别人反编译我们的 Python .exe 程序
👋 你好,我是 Lorin 洛林,一位 Java 后端技术开发者!座右铭:Technology has the power to make the world a better place.
Lorin 洛林
2024/04/22
3.3K0
相关推荐
怎样使用Cython提升Python的性能
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档