关于调试/仿真器的JTAG和SWD的使用==总结

Posted 郭忠伟-写录

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于调试/仿真器的JTAG和SWD的使用==总结相关的知识,希望对你有一定的参考价值。

嵌入式行业,涉及到系统设计,难免要考虑这些接口的设计,

当前手上的一个项目,为了减小体积、节省资源,使用了stm32 swd接口,下面及此简要说明下常用的一些调试接口,,,

常用调试器包括UNLINK、JLINK等,这两款支持 JTAG、SWD两种调试接口,

JTAG是一种国际标准测试协议,主要用于芯片内部测试。现在多数的高级器件都支持JTAG协议,如DSP、FPGA、arm、PowerPC器件等。标准的JTAG接口是4线(强制要求):TCK、TMS、TDI、TDO。当然,目测SWD与JTAG的地位差不了太多,,

JTAG与SWD标准的接口排列:

实际使用到的引脚:

实际使用中(针对JLINK、UNLINK2),

JTAG需要的接线:

  • 强制:TDI、TMS、TCLK、TDO;
  • 看实际情况添加:VCC、GND、TRST、RESET;
即一般的系统设计会选择这样子的8线制; 关于JTAG的详细理论基础,见: 深入理解jtag接口协议

SWD需要的接线:

  • 强制:SWDIO、SWCLK
  • 看实际情况添加:VCC、GND、RESET;
这部分是针对UNLINK仿真器的实测情况,比较稳定的一种接口;

实测部分数据:

以下针对SWD: GND可以去掉===目前没有看到什么不正常的情况发生; RESET可以去掉=== 但会导致系统不能够热启动,需要在下载程序之后进行冷启动,系统才能够正常的跑动。同时编译器也需要进行相关的设置(SYSRESTREQ或者VECTRESET),如下图:

就SWD接口,于MDK环境下的 可能设置包括:根据自己的实际情况,考虑勾选,,,



常用的调试工具:



目前,我这边使用过的调试器是包括LINK、UNLINK、PEMicro,其中JLINK绝对的通用,,下边简要说下另外的两款: UNLINK==MDK标配
PEMicro==freescale 飞思卡尔的,适用OSBDM接口,,,



以上是关于关于调试/仿真器的JTAG和SWD的使用==总结的主要内容,如果未能解决你的问题,请参考以下文章

JTAG的SWD接线方式

带有swdio字母的接口是做啥的?

J-Link仿真器与JTAG和SWD下载与接线介绍

JTAG jlink swd都是什么意思啊?

利用jink调试程序,时间不准的解决办法

下载调试接口 JTAG vs SWD