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。
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的性能通常是同类产品中最好的!
swd引脚:
• swdio(serial wire data input output):串行数据输入输出引脚
• swclk(serial wire clock):串行线时钟引脚
swd与jtag的区别
市面上有很多兼容swd和jtag协议的mcu和调试适配器,他们通常通过具有一组下载调试引脚,来实现下载和调试功能,这些引脚内部复用到swd外设和jtag外设。
1、共享引脚
swd的引脚在一定条件下可以和jtag引脚复用,目前针对
swd和jtag
的连接器比较多,比如20pin的接插件:
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个引脚。
铁电存储器的优势和发展趋势分析
三星Galaxy S21系列将有绿色版本
走进物联网:制备您自己的Wi-Fi开关 !
com推出光纤组件新产品,主要用于一系列带MPO连接器
机器人技术中常用的一些路径规划算法
程序下载接口的区别----JTAG vs SWD
典型应用及常见拓扑特点介绍
了解锁相环(PLL)瞬态响应 如何优化锁相环(PLL)的瞬态响应?
汽车激光雷达技术面临的机遇和挑战是什么
芯片封装建模工具-Simcenter Flotherm Package Creator介绍
ESD静电二极管-SOT-23封装-SM712型号
射频设计成为模块设计里最关键环节
解释数据科学、机器学习和人工智能这3者之间的差异和区别
接地摇表使用方法图详解
音频限幅器电路原理图讲解
工业嵌入式控制系统中运用LINUX和CAN总线技术的研究
电视盒子什么品牌好?朱雀数码盘点2022最受欢迎电视盒子推荐
MOS管基础及选型指南
64位RISC-V CPU发展现状和未来前景
商务蓝牙耳机有什么推荐?真无线降噪耳机推荐