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

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

3天内不再提示

解析J-Link、J-Trace、Open JTAG原理以及其区别

Q4MP_gh_c472c21 2018-01-30 09:29 次阅读

J-Link、J-Trace、Open JTAG都是用来调试程序的(当然还有其他工具可以进行调试,比如ICE),J-Link和J-Trace是SEGGER公司的是一个开源项目,其目标是使嵌入式开发者能够通过JTAG接口,用开放的硬件和软件系统进行烧写、校验和调试。他们都基于JTAG调试接口协议。

一、工作原理

调试arm,总要遵循arm的调试接口协议吧,jtag就是其中的一种吧。当仿真时,iar,keil,ads等等都有一个公共的调试接口,RDI(RDI接口是ARM公司提出的调试接口标准,主要用于ARM芯片的JTAG仿真。)就是其中的一咱吧, 那么我们如何完成RDI-->arm调试协议(JTAG)的转换呢? 如是乎就有两种做法:

(1) 在电脑上写一个服务程序,把keil,ads,iar中的RDI命令解析成相关的JTAG协议,然后通后一个物理转换接口(注意,这个转换只是电气物理层 上的转换,就像RS232那样的作用)发送你的的目标板。 h-jtag就是这样的。 h-jtag的硬件就仅是一个物理电平的转换接口,所以很简单。而电脑中装的h-jtag软件就是前面说到的服务程序,负责协议转换的。

(2)另一种做法,就是做一个板,用此板直接接收来自keil,ads,iar等软件的调试命令,由此板做rdi->jtag协议的转换。然后与目标板通信,这就是jlink的工作原理。(这也就实现了USB转JTAG协议。)

有一回贴说:“大佬,两者都是软件完成的,只不过软件放的地方不一样(一个放计算机,一个放仿真器里面了).真正的硬件,就象是JTRACE一样,用FPGA来实现.实质上,还是软件到硬件的过程.”。

二、J-Link、J-Trace区别

最近在看《J-Link/J-Trace User Gudide(UM08001)》Page12,发现文中说JLink与JTrace区别,浅显易懂,摘录如下:

J-Link

JTAG emulator for ARM cores

USB driven JTAG interface for ARM cores.

J-Trace

JTAG emulator for ARM cores

USB driven JTAG interface for ARM cores with

Trace memory. supporting the ARM ETM (Embed-

ded Trace Macrocell).

ARM Keil Tools官网(http://www.keil.com/pr/article/1141.htm)就更详细了,摘抄如下:

The SEGGER J-Link is a USB to JTAG adapter supporting ARM7™, ARM9™ and Cortex™-M3 processor based devices with JTAG speeds of up to 12MHz. It interfaces to all evaluation boards and target hardware using a standard 20-pin or 14-pin (optional) JTAG connector.

The SEGGER J-Trace is a combined unit offering real-time trace and JTAG debugging for all ARM7 and ARM9 devices with an integrated ETM (Embedded Trace Macrocell). An integrated 2MB trace buffer enables high speed instruction and data trace at speeds of up to 200MHz, connecting to the target device via a 38-pin Mictor cable. J-Trace also includes a J-Link interface for standard JTAG target debugging via a 20-pin connector.

Trace information from J-Trace is displayed in dedicated windows, providing a seamless interface with other μVision debug and analysis tools.

J-Link is part of several starter kits from various vendors and is indentical with SAM-ICE (from Atmel) and mIDAS-Link (from Analog Devices). With direct J-Link support users can now easily begin taking advantage of the unique and advanced features of RealView MDK compared to other tool offerings and starter kits.

RealView MDK is available from Keil or your local Keil distributor. J-Link and J-Trace are available from SEGGER Microcontroller and its world wide sales channels.

论坛中看到了一个帖子,精辟回答了J-Link和J-Trace的区别,如下:

J-Link就像照相机,程序(在断点处)停下来才能看调试信息,通过JTAG/SWD接口;J-Trace就像录像机,可以纪录、回放整个调试接口, 通过ETM接口。 最近一些Cortex-M3的芯片支持SWO接口,就好像是高速连拍照相机,采样间隔小的话,有那么点Trace的样子,这个调试功能在J-Link v7和EWARM v5.30中已经得到支持。

三、J-Link与Open JTAG区别

正如上文所述,这两者都是用来调试程序的,都实现了USB转JTAG协议功能,即用USB连接主机,用JTAG线连接板子的JTAG口,而这之间的转换通过J-Link或者Open JTAG转换。另,J-Link一般是独立的组件,而Open JTAG一般集成到板子上。

四、J-Link GDBServer与Open OCD

openOCD是上位机程序(人可以直接发出操控命令的计算机,一般是PC。对应于下位机)。jlink gdbserver和openocd是一回事,都是担任一个 gdb server的角色,用来解释来自arm-elf-gdb的调试信号,并且控制硬件(Jlink或者openjtag)

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

    关注

    134

    文章

    8643

    浏览量

    361648
  • J-Link
    +关注

    关注

    0

    文章

    77

    浏览量

    21945
  • RDI
    RDI
    +关注

    关注

    0

    文章

    4

    浏览量

    7892
  • J-Trace
    +关注

    关注

    0

    文章

    2

    浏览量

    3332

原文标题:高手总结 J-Link、J-Trace、Open JTAG区别及一些理解

文章出处:【微信号:gh_c472c2199c88,微信公众号:嵌入式微处理器】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    J-Trace调试器比起J-link的优势在哪些方面?

    看了半天J-Trace调试器的介绍,想向用过的大佬咨询比起J-link的优势在哪些方面? 是不是在某些调试场合特别能提高调试效率?
    发表于 04-15 06:48

    J-LINK无法找到CPU

    J-LINK 与电脑连接打开软件J-link ARm 时显示could not find supported CPU on core on JTAG chain.
    发表于 08-25 15:19

    j-link固件可以换掉新的j-link吗?

    求大神解答,刷固件一直刷不出来,网上的方法都试过了。。。固件修复不了我就担心换新的j-link还是一样的问题,是操作系统问题还是j-link硬件问题??
    发表于 08-14 21:14

    SEGGER J-Link与PIC32问题

    烧录该图像,一切都如我所料。请注意,我还尝试了回收电源、断开J-Link与mcu的连接、比较用J-Link和PicKit3烧录的十六进制文件(100%相同)、在配置中禁用JTAG。位和运行时通过
    发表于 09-24 10:37

    什么是J-Link探针?

    UltraSoC日前宣布:公司已与SEGGER达成合作伙伴关系,以在UltraSoC集成化的系统级芯片(SoC)监测和分析环境中为J-Link调试探针提供支持。SEGGER的J-Link探针是业界
    发表于 10-21 08:00

    J-Link Plus如何直接烧写SPI Flash?

      J-Link不仅支持单片机片内Flash的烧写,还能够通过SPI协议直接烧录SPI Flash。因为使用的是SPI协议,哪怕SPI Flash所连接的MCU不在segger支持范围内,在无需
    发表于 12-16 17:27

    J-Link无法连接芯片的常见解决办法

    信息,无法获取芯片的状态,可能是由于J-Link未与芯片成功连接导致的。常见解决办法一、验证J-Link与PC的连接通常使用J-Link Commander来验证J-Link与PC的连
    发表于 02-19 10:08

    J-Link script文件的作用与用法

    某些情况下需要J-Link来执行一些自定义的操作,比如多核芯片的JTAG链的配置,硬件需要一些特殊的处理等。这些操作需要由用户根据自己的实际情况来定制,所以需要使用脚本来进行编写。J-Link
    发表于 03-02 16:40

    如何使用J-Link的虚拟串口VCOM功能?

    J-Link提供了虚拟COM功能,在使用J-Link的情况下,如果启用了虚拟COM端口,则J-Link会显示为具有多个接口的复合设备:J-Link功能和COM Port接口,两者可以
    发表于 04-28 13:30

    【益登科技 Silicon Labs SLWSTK6021A开发板试用体验】超值下载工具J-LINK/J-TRACE COMTEX

    J-TraceCortex,加上部分传感器和子板接口,子板插上后,调试器连接子板的MCU进行下载调试,没有插子板时,它的外接调试接口就可以接外部板子进行调试,此时底板就是的J-LINK/J-Trace Cortex,在
    发表于 07-01 11:21

    J-Link的高级使用

    Jlink 的高级使用J-Link简介J-Link是SEGGER公司为支持仿真ARM内核芯片推出的JTAG仿真器。简单地说,是给一个JTAG协议转换盒。其连接到计算机用的是USB接口,
    发表于 08-06 08:32

    J-LINKJTAG的相关资料推荐

    添加链接描述JTAG是调试接口协议J-LINK是协议转换器调试ARM,要遵循ARM的调试接口协议,JTAG就是其中的一种。当仿真时,IAR、KEIL、ADS等都有一个公共的调试接口,RDI就是其中的一种,那么我们如何完成RDI–
    发表于 01-27 07:09

    SEGGER J-Link集成开发环境全面支持国民技术N32系列MCU

    系统领域提供先进的RTOS和软件库,J-LinkJ-Trace调试和代码跟踪器,In-system的编程烧录器Flasher,以及软件开发工具。
    发表于 03-02 14:41

    J-LinkJ-Trace烧录器的使用说明免费下载

    本文档的主要内容详细介绍的是J-LinkJ-Trace烧录器的使用说明免费下载。
    发表于 11-28 08:00 11次下载
    <b class='flag-5'>J-Link</b>和<b class='flag-5'>J-Trace</b>烧录器的使用说明免费下载

    J-LinkJ-Trace用户指南免费下载

    J-Link/J-Trace有不同的版本,每个版本都是为不同的目的/目标设备设计的。目前,J-Link/J-Trace有以下几种型号:J-Link
    发表于 03-03 08:00 14次下载
    <b class='flag-5'>J-Link</b>和<b class='flag-5'>J-Trace</b>用户指南免费下载