JTag, JLink及OpenJtag的比較

2021-07-26 18:51:53 字數 1511 閱讀 4949

本文簡單介紹了jtag, jlink及openjtag的用途,以及區別。同時也介紹了開發機沒有並口時,該選擇何種工具進行燒寫。所有資料均從網上蒐羅而來。

jtag(joint test action group) 是ieee1149.1 (standard access port and boundary-scan architecture)標準. 它最初用來以邊界掃瞄的方式測試印刷電路板,當然它現在仍然這一方面廣泛使用。

jtag的用途:

1. 邊界掃瞄測試

2. 往flash燒寫程式和資料: 可以燒寫nor falsh 和 nand falsh

3. 除錯arm裸機程式,不能除錯嵌入式linux程式

jtag的介面:

jtag介面並沒有統一的標準。arm處理器通常使用2*10針(部分使用2*7針)的jtag介面。

jtag連線host的一端通常為並口。一般筆記本及台式電腦都很少有並口介面,而且市面上買到的usb轉並口並不能用於jtag,usb轉並口主要是給老式印表機使用的。這就使得我們很難使用jtag以及筆記本進行燒寫。另外的乙個缺點是並口jtag的速率非常低。

jtag的替代品: 

serial wire debug(swd)。

jlink是segger的產品,

它是usb介面轉到jtag介面的介面卡(adaptor),並不是真正意義上的**器。它採用標準的14針或者20針的jtag介面與開發板相連。它支援多種cpu核心(arm7, arm9,cortex etc.)。對arm而言,它可能是最受歡迎的介面卡。

jlink的功能:

1. 往flash燒寫程式:不支援燒寫nand flash 參見

2. 支援windows, linux以及mac: 但是linux及mac僅支援jlink commander, command line gdbserver, 以及shared library。

3. 支援多種除錯協議: 如gdb, rdi 等

4. usb轉串列埠功能

jlink的介面:

usb介面,jlink的**也比較低(當然是山寨的)。

openjtag是乙個開源專案(包含軟體和硬體),採用gnu gpl license: 

同樣它也是乙個usb介面轉jtag介面的介面卡,同樣不是真正意義上的**器。

openjtag的功能:

1. 往flash燒寫程式: 支援nor flash 和 nand flash

2. 支援windows以及linux

3. 能夠用在支援gdb除錯協議的工具上: 如iar, eclipse, 但不能用在支援rdi除錯協議的工具上: 如ads

4. usb轉串列埠功能

openjtag的介面:

usb介面,但是他的**要比jlink高一些

0818 OpenJ 13295 最佳加法表示式

摘要 通過在大整數中新增加號使數字的值最小 原題目摘要 最佳加法表示式 描述給定n個1到9的數字,要求在數字之間擺放m個加號 加號兩邊必須有數字 使得所得到的加法表示式的值最小,並輸出該值。例如,在1234中擺放1個加號,最好的擺法就是12 34,和為36 輸入有不超過15組資料 每組資料兩行。第一...

0811 OpenJ 求排列的逆序數

摘要 給定數列,快速地求數列的逆序數,使用歸併 原題目摘要 求排列的逆序數 描述 在internet上的搜尋引擎經常需要對資訊進行比較,比如可以通過某個人對一些事物的排名來估計他 或她 對各種不同資訊的興趣,從而實現個性化的服務。對於不同的排名結果可以用逆序來評價它們之間的差異。考慮1,2,n的排列...

0910 OpenJ 6044 鳴人和佐助

摘要 使用bfs來尋找最短的可行路徑 原題目摘要 鳴人和佐助 佐助被大蛇丸誘騙走了,鳴人在多少時間內能追上他呢?已知一張地圖 以二維矩陣的形式表示 以及佐助和鳴人的位置。地圖上的每個位置都可以走到,只不過有些位置上有大蛇丸的手下,需要先打敗大蛇丸的手下才能到這些位置。鳴人有一定數量的查克拉,每乙個單...