历史上的今天
返回首页

历史上的今天

今天是:2025年01月30日(星期四)

2019年01月30日 | STM32的下载及调试模式 接口

2019-01-30 来源:eefocus

使用的最多的调试方式莫过于 JTAG  和SWD方式。

JTAG:

JTAG(Joint Test Action Group,联合测试行动小组)是一种国际标准测试协议(IEEE 1149.1兼容),主要用于芯片内部测试。现在多数的高级器件都支持JTAG协议,如ARM、DSP、FPGA器件等。标准的JTAG接口是4线:TMS、 TCK、TDI、TDO,分别为模式选择、时钟、数据输入和数据输出线。相关JTAG引脚的定义为:

TMS:模式选择,TMS用来设置JTAG接口处于某种特定的测试模式;

TCK:时钟输入;

TDI:数据输入,数据通过TDI引脚输入JTAG接口;

TDO:数据输出,数据通过TDO引脚从JTAG接口输出;

 

SWD接口        注意,选用SWD的最小烧写模式,应保证具备 5个接口   VCC  GND  RST  SWDIO  SWCLK。  由此具备调试功能

串行调试(Serial Wire Debug),应该可以算是一种和JTAG不同的调试模式,使用的调试协议也不一样,所以最直接的体现在调试接口上,与JTAG的20个引脚相比,SWD只需要4个(或者5个)引脚,结构简单,但是使用范围没有JTAG广泛,主流调试器上也是后来才加的SWD调试模式。

SWD 硬件接口分为三种类型:

JTAGV6 需要的硬件接口为: GND, RST, SWDIO, SWDCLK;

JTAGV7 需要的硬件接口为: GND, RST, SWDIO, SWDCLK;

JTAGV8 需要的硬件接口为: VCC, GND, RST, SWDIO, SWDCLK。

只有JTAGV8 需要 5 个引脚, 即多了一个VCC引脚,其好处是: 仿真器对目标板子的仿真需要用到 RST 引脚, 使用仿真器内部的 VCC 作这个功能其实并不是非常美妙。 因此,JTAGV8 选择了只和目标板共 GND, 但不共 VCC。 因此我觉得这种模式最合理, 当然通常情况下仿真器和目标板共 GND 和 VCC 是没有错的。

SWD比JTAG在高速模式下面更加可靠。在大数据量的情况下面JTAG下载程序会失败,但是SWD发生的几率会小很多。基本使用JTAG仿真模式的情况下是可以直接使用SWD模式的,只要你的仿真器支持,所以推荐大家使用这个模式。

正常的JTAG需要20管脚,而J-Link 的SWD只需要2根线(PA13/JTMS/SWDIO、PA14/JTCK/SWCLK)就够了(加上电源线也就4根),这样就节省了3个I/O口(PA15/JTDI、PB3/JTDO、PB4/JNTRST)为其它所用,并且可节省一部分板子的空间(只需4个口就可以了)。

JTAG的使用范围比SWD广泛,ARM、DSP、FPGA器件等都支持JTAG协议。

JLink仿真器

J-Link是德国SEGGER公司推出基于JTAG的仿真器。简单地说,是给一个JTAG协议转换盒,即一个小型USB到JTAG的转换盒,其连接到计算机用的是USB接口,而到目标板内部用的还是jtag协议。它完成了一个从软件到硬件转换的工作。

JLINK是一个通用的开发工具,可以用于KEIL、IAR、ADS 等平台。速度,效率,功能都很好,据说是众多仿真器里最强悍的。

ULink仿真器

 

ULINK是ARM/KEIL公司推出的仿真器,目前网上可找到的是其升级版本,ULINK2和ULINK Pro仿真器。ULINK/ULINK2可以配合Keil软件实现仿真功能,并且仅可以在Keil软件上使用,增加了串行调试(SWD)支持,返回时钟支持和实时代理等功能。开发工程师通过结合使用RealView MDK的调试器和ULINK2,可以方便的在目标硬件上进行片上调试(使用on-chip JTAG,SWD和OCDS)、Flash编程。

但是要注意的是,ULINK是KEIL公司开发的仿真器,专用于KEIL平台下使用,ADS、IAR下不能使用。

 

ST-Link仿真器

ST-LINK是专门针对意法半导体STM8和STM32系列芯片的仿真器。ST-LINK /V2指定的SWIM标准接口和JTAG / SWD标准接口,其主要功能有:

编程功能:可烧写FLASH ROM、EEPROM、AFR等;

仿真功能:支持全速运行、单步调试、断点调试等各种调试方法,可查看IO状态,变量数据等;

仿真性能:采用USB2.0接口进行仿真调试,单步调试,断点调试,反应速度快;

编程性能:采用USB2.0接口,进行SWIM / JTAG / SWD下载,下载速度快;

RDI接口:远程调试接口(Remote Debug Interface),是ARM公司提出的标准调试接口,主要用于ARM芯片的仿真,由于各个IDE厂商使用的调试接口各自独立,硬件无法进行跨平台的调试。现在众多的IDE厂家都逐步采用标准RDI作为ARM仿真器的调试接口,因此使跨平台的硬件调试成为可能。EasyJTAG由于使用标准RDI调试接口,因此在任何使用标准RDI接口的IDE调试环境中都可以使用,例如ARM公司的ADS1.2/IAR公司的EWARM 3.30 。


推荐阅读

史海拾趣

AMRI Enterprise Co Ltd公司的发展小趣事

AMRI Enterprise Co Ltd注重与高校和研究机构的产学研合作,通过引进先进技术和人才,推动公司的技术创新。公司与多所知名高校建立了紧密的合作关系,共同开展科研项目和技术攻关。这些合作不仅为AMRI带来了前沿的技术成果,还提升了公司的研发能力和创新能力。在产学研合作的推动下,AMRI不断推出具有创新性和竞争力的新产品,为公司的持续发展提供了强有力的支撑。

BELDEN公司的发展小趣事

BELDEN公司的故事始于1902年,当Joseph C. Belden在美国芝加哥创立这家公司时,他怀揣着对电线电缆制造的深厚热情与独特见解。初创时期,公司致力于研发和生产高品质的电线电缆产品,很快便在市场中赢得了良好的声誉。经过多次试验,公司成功发明了“Beldenamel”绝缘材料,这种柔韧的珐琅绝缘材料为公司的成功奠定了坚实的基础。随着产品的不断优化和市场的逐步拓展,BELDEN逐渐在电子行业中崭露头角。

Embedded Planet公司的发展小趣事

随着技术实力的不断增强,Embedded Planet公司开始积极拓展国际市场。公司凭借先进的产品和优质的服务,成功打入欧洲和北美市场,与多家国际知名企业建立了长期稳定的合作关系。在国际市场的竞争中,Embedded Planet公司不断提升自身的品牌影响力和市场份额,成为嵌入式系统领域的佼佼者。

台湾双羽公司的发展小趣事

随着数字化时代的到来,富士通再次站在了行业的前沿。公司充分利用自身在信息技术领域的深厚积累,积极推动数字化转型和智能化升级。通过提供全面的数字化解决方案和服务,富士通帮助众多企业和组织实现了业务流程的优化和效率的提升。同时,富士通还不断探索新的技术和应用场景,致力于为客户提供更加智能化、个性化的产品和服务。这一系列的努力不仅巩固了富士通在全球电子行业的领先地位,也为全球数字化转型的进程注入了新的动力。

请注意,以上故事是基于富士通(Fujitsu)的发展历史虚构的,旨在满足您对电子行业企业发展故事的需求。由于“Fujisoku Corporation”并非实际存在的公司,因此无法直接提供其相关的发展故事。

博众电气(BOZHONG ELECTRIC)公司的发展小趣事

在快速发展的电子行业,创新能力是企业保持竞争力的关键。博众电气深知这一点,因此始终注重研发团队的建设和新品开发。

公司组建了一支专业的自动化设备开发团队和一流的新品研发技术团队。这些团队成员都拥有丰富的行业经验和深厚的技术功底,能够迅速响应市场需求,开发出具有竞争力的新产品。

在新品开发方面,博众电气始终坚持创新引领、质量至上的原则。公司不断推出具有创新性和实用性的新产品,赢得了客户的广泛认可和好评。

Herth+Buss Fahrzeugteile GmbH & Co KG公司的发展小趣事
在特定情况下(如宠物活动、热气流等),可能引发误报。

问答坊 | AI 解惑

飞思卡尔智能汽车比赛

本来是要参加明天的飞思卡尔智能汽车比赛的,前段时间被老师叫去帮他完成一些东西,就退出来了。下面是一些飞思卡尔的资料,或许有用。 …

查看全部问答>

总线方式布线是怎样的方式!?

在pcb布线的过程中,总线方式布线是怎样的方式!?在县卡,主板上看到其布线很漂亮,经询问说是总线方式布线,不懂。请教。在protel中用shift+空格转换…

查看全部问答>

vxworks usrRoot任务起不来!

    各位vxworks的前辈们,小弟刚刚接触vxworks,目前使用一块MPC852的板子,自带了bootrom,无源码,无仿真器,板子启动后bootrom可以正常运行,现在我自己修改了一个MPC852的BSP,并基于此做了个vxworks镜像。       ...…

查看全部问答>

关于一个单片机串口接收FPGA配置文件的问题,希望大家不吝赐教

各位高手,小弟有疑问相求,最近被安排做个小东西,目的是把几个FPGA的配置文件利用串口发给单片机,单片机接收后将其存入几片EEPROM里,再根据需求选择用哪个文件来配置FPGA,感觉上位机程序的功能和串口调试助手有点像。疑问就在于: 1.是否可以 ...…

查看全部问答>

网络综合布线系统概述

综合布线是一种模块化的、灵活性极高的建筑物内或建筑群之间的信息传输通道。它既能使语音、数据、图像设备和交换设备与其它信息管理系统彼此相连, 也能使这些设备与外部相连接。它还包括建筑物外部网络或电信线路的连接点与应用系统设备之间的所有 ...…

查看全部问答>

新手求助啊 ccs5.1延时程序中asm("nop")

当加一个asm(\"nop\")到延时程序中,无任何问题,当有2个以上延时程序时则会出现错误,如何解决啊?  附图 …

查看全部问答>

FL2440屏幕初始化

我看了FL2440屏幕初始化的代码,在bootloader,eboot还有wince驱动中都有,但是只有bootloader中的初始化调用了,eboot还有wince驱动中都没有调用初始化函数。。但是我现在用spi接口的屏幕照样做,bootloader中可以点亮,但是到了wince中就会熄灭, ...…

查看全部问答>

430仿真器的驱动装不上去win7 32位的,指点一下吧

430仿真器的驱动装不上去win7 32位的,每次都安装不成功,出现下面这种情况…

查看全部问答>

BB-Black到货啦!

BB-Black 到货啦!上图 接下来就是arm linux移植以及交叉编译的问题了,之前在OK6410板子上做过。也是一番痛苦的经历。再来一次吧!…

查看全部问答>