0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

程序下载接口的区别----JTAG vs SWD

嵌入式应用开发 来源:嵌入式应用开发 作者:嵌入式应用开发 2022-09-28 14:44 次阅读

1.什么是下载调试器

简单来说,下载调试器是将PC(例如通过USB协议)发送的命令转换为MCU(负责MCU内部外围设备)理解的语言(例如SWD或JTAG协议)的设备,加载代码并精确控制执行。

调试器协议标准

简单来说,标准是一组规则和协议,特定行业中的每个参与者都同意遵循并执行。

2、调试器协议混乱现象

在SWD和JTAG之类的协议出现之前,调试器及其协议一片混乱,每个MCU制造商都提出了自己的专有方法,将代码加载到他们的MCU上。制造商每次发布MCU时,嵌入式软件工程师都需要了解其专有协议,以将代码加载到微控制器中。

而且调试适配器很昂贵,因为制造商实际上并没有竞争者可以使调试适配器与他们的协议相匹配,因为协议是专有的。它们昂贵的另一个原因是,由于体积不足,因为它们只能将调试适配器出售给使用它们制造的MCU的公司(工程师)。

不同协议还会导致开发成本增加,比如:你在设计的板上有来自4个不同制造商的4种芯片,并且希望对其进行一些自动化测试以提高生产过程的效率。但是,由于所有电路板都有自己的协议,因此您需要制作一个能适应复杂性的超级复杂的生产代码,并且需要在电路板上的测试点安装4个不同的调试器,从而增加了成本,生产时间和编程时间。

3、制定协议

各种下载调试不同会导致几个问题:

• 投入更多的学习时间

• 增加购买下载调试的成本

• 生成测试效率低下

为了解决这一问题,各大MCU制造和生产商的工程师们就针对调试制定了一些规范协议。

JTAG标准

JTAG

Joint Test Action Group,即联合测试行动小组。

该小组于1980年后期开始讨论,并于1990年正式发布了解释IEEE标准的文档。(IEEE代表电气电子工程师协会,是一个国际组织,其中发布了所有标准,如WiFi,蓝牙等)。他们提出的协议在1990年被记录在IEEE 1149.1中。后来对该文档进行了修订和完善,在撰写本文时,最新标准是IEEE 1149.7。

pYYBAGMz7NmAXpifAAEGaHDnsXM248.png

JTAG基本上带有5个引脚:

• TDI(Test Data In):串行输入引脚

• TDO(Test Data Out):串行输出引脚

• TCK(Test Clock):时钟引脚

• TMS(Test Mode Select):模式选择(控制信号)引脚

• TRST(Test Reset):复位引脚

SWD标准

SWD:

Serial Wire Debug,代表串行线调试

,是ARM设计的协议,用于对其微控制器进行编程和调试。

由于SWD专门从事编程和调试,因此它具有许多特殊功能,通常在其他任何地方都无法使用,例如通过IO线将调试信息发送到计算机。另外,由于它是ARM专门为在其设备中使用而制造的,因此SWD的性能通常是同类产品中最好的!

pYYBAGMz7PWACHZYAAESza6wekw803.png

SWD引脚:

• SWDIO(Serial Wire Data Input Output):串行数据输入输出引脚

• SWCLK(Serial Wire Clock):串行线时钟引脚

SWD与JTAG的区别

市面上有很多兼容SWD和JTAG协议的MCU和调试适配器,他们通常通过具有一组下载调试引脚,来实现下载和调试功能,这些引脚内部复用到SWD外设和JTAG外设。

1、共享引脚

SWD的引脚在一定条件下可以和JTAG引脚复用,目前针对

SWD和JTAG

连接器比较多,比如20pin的接插件:

pYYBAGMz7SeAcTXOAAIGZhwvJT8153.png

2、SWD与JTAG各自优势

SWD协议的优势:

• 使用引脚更少,只需SWDIO和SWCLK两个引脚;

• SWD具有特殊功能,例如通过其I/O线打印调试信息;

• 与JTAG相比,SWD在速度方面具有更好的整体性能。

JTAG协议的优势:

• JTAG不仅限于ARM芯片,在ARM之外的芯片也受支持,比如大家熟悉的MSP430

• JTAG具有更多多种用途,用于编程,调试和生产测试;

• JTAG是一个独立的团体,他们会随着协议的发展而发展。

什么时候选择SWD而不是JTAG:

• 如果您的原理图/电路板设计足够简单,可以在没有JTAG功能的情况下进行测试;

• 调试性能比生产测试更重要,你的设备专注于服务研究而不是批量生产;

• MCU在尺寸方面有限制,SWD可以节省空间;

• 你的硬件设计太复杂,MCU没有多余的2个引脚。

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 接口
    +关注

    关注

    33

    文章

    7639

    浏览量

    148463
  • JTAG
    +关注

    关注

    6

    文章

    383

    浏览量

    71150
  • SWD
    SWD
    +关注

    关注

    1

    文章

    54

    浏览量

    11669
收藏 人收藏

    评论

    相关推荐

    JTAG接口SWD接口有哪些区别

    JTAG是什么?JTAG有哪些功能?JTAG接口SWD接口有哪些
    发表于 10-25 06:54

    JTAG调试接口SWD调试接口在硬件上有什么区别

    STM32的输入输出模式有哪几种?STM32启动文件(.s)主要实现什么功能?STM32F1芯片有哪些程序下载方法?什么是CMSIS?JTAG调试接口
    发表于 10-28 08:01

    SWDJTAG接口的含义和区别

    作为嵌入式软件工程师,下载调试器都应该知道,但你真正了解其SWDJTAG接口的含义和区别吗?今天分享一篇公众号【嵌入式专栏】整理的关于
    发表于 12-10 07:24

    STM32F103的JTAGSWD接口无法下载程序怎么解决

    STM32F103的JTAGSWD接口被禁用,无法下载程序今天烧写STM32例程进板子的时候,没注意
    发表于 02-22 08:15

    ARM JTAG接口SWD接口的调试方式有何区别

    JTAG下载程序会失败,但是SWD发生的几率会小很多。基本使用JTAG仿真模式的情况下是可以直接使用S
    发表于 05-24 15:48

    SWDJTAG之间的区别

    SWD 模式比 JTAG 在高速模式下面更加可靠。 在大数据量的情况下面 JTAG 下载程序会失败, 但是
    发表于 03-04 15:33 7次下载

    stm32的JTAGSWD的使用区别

    stm32的JTAGSWD的使用区别
    发表于 12-17 21:49 36次下载

    jtagswd有什么不同_jtagswd区别

    本文从引脚、调试方式、仿真器的支持和硬件接口四个方面对jtagswd进行了详细的对比区别
    发表于 01-11 10:06 13.3w次阅读
    <b class='flag-5'>jtag</b>和<b class='flag-5'>swd</b>有什么不同_<b class='flag-5'>jtag</b>和<b class='flag-5'>swd</b>的<b class='flag-5'>区别</b>

    JTAG接口如何转SWD接口_JTAG接口SWD接口方法

    本文为大家介绍JTAG接口SWD接口方法,利用此转换方式,可以简化板载调试接口(相应单片机应支持SWD
    发表于 01-11 10:23 3.1w次阅读
    <b class='flag-5'>JTAG</b><b class='flag-5'>接口</b>如何转<b class='flag-5'>SWD</b><b class='flag-5'>接口</b>_<b class='flag-5'>JTAG</b><b class='flag-5'>接口</b>转<b class='flag-5'>SWD</b><b class='flag-5'>接口</b>方法

    调试接口SWDJTAG区别

    作者 | strongerHuang 微信公众号 | strongerHuang 作为嵌入式工程师,下载调试器都应该知道,但你真正了解其SWDJTAG接口的含义和
    的头像 发表于 10-27 09:29 1.6w次阅读
    调试<b class='flag-5'>接口</b><b class='flag-5'>SWD</b>和<b class='flag-5'>JTAG</b>的<b class='flag-5'>区别</b>

    下载调试接口SWDJTAG区别

    作为嵌入式工程师,下载调试器都应该知道,但你真正了解其 SWDJTAG 接口的含义和区别吗? 1、什么是
    的头像 发表于 11-28 11:44 3936次阅读

    stm32 SWD调试接口的使用

    SWD 和传统的调试方式区别    1. SWD 模式比 JTAG 在高速模式下面更加可靠。 在大数据量的情况下面 JTAG
    发表于 12-02 17:06 27次下载
    stm32 <b class='flag-5'>SWD</b>调试<b class='flag-5'>接口</b>的使用

    JTAG vs SWD区别

    下载调试器是将PC(例如通过USB协议)发送的命令转换为MCU(负责MCU内部外围设备)理解的语言(例如SWDJTAG协议)的设备,加载代码并精确控制执行。
    的头像 发表于 12-04 10:05 2732次阅读
    <b class='flag-5'>JTAG</b> <b class='flag-5'>vs</b> <b class='flag-5'>SWD</b><b class='flag-5'>区别</b>

    简述SWD下载器通信协议底层原理

    基于Cortex-M内核的单片机,目前主流的下载接口就是JTAGSWDSWDJTAG
    发表于 02-20 16:05 2252次阅读
    简述<b class='flag-5'>SWD</b><b class='flag-5'>下载</b>器通信协议底层原理

    jtag接口swd接口区别

    jtag接口swd接口区别 JTAG (Joint Test Action Group)
    的头像 发表于 12-07 15:29 4021次阅读