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
+關注
關注
134文章
9045瀏覽量
366799 -
J-Link
+關注
關注
0文章
83瀏覽量
22117 -
RDI
+關注
關注
0文章
5瀏覽量
7960 -
J-Trace
+關注
關注
0文章
2瀏覽量
3357
原文標題:高手總結?J-Link、J-Trace、Open JTAG區別及一些理解
文章出處:【微信號:gh_c472c2199c88,微信公眾號:嵌入式微處理器】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論