0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

調(diào)試接口SWD和JTAG的區(qū)別

工程師 ? 來源:strongerHuang ? 作者:strongerHuang ? 2020-10-27 09:29 ? 次閱讀

作者 | strongerHuang

微信公眾號(hào) | strongerHuang

作為嵌入式工程師,下載調(diào)試器都應(yīng)該知道,但你真正了解其SWD 和 JTAG接口的含義和區(qū)別嗎?

1

什么是下載調(diào)試器

簡單來說,下載調(diào)試器是將PC(例如通過USB協(xié)議)發(fā)送的命令轉(zhuǎn)換為MCU(負(fù)責(zé)MCU內(nèi)部外圍設(shè)備)理解的語言(例如SWD或JTAG協(xié)議)的設(shè)備,加載代碼并精確控制執(zhí)行。

2

調(diào)試器協(xié)議標(biāo)準(zhǔn)

1.什么是標(biāo)準(zhǔn)?

簡單來說,標(biāo)準(zhǔn)是一組規(guī)則和協(xié)議,特定行業(yè)中的每個(gè)參與者都同意遵循并執(zhí)行。

2.調(diào)試器協(xié)議混亂現(xiàn)象

在SWD和JTAG之類的協(xié)議出現(xiàn)之前,調(diào)試器及其協(xié)議一片混亂,每個(gè)MCU制造商都提出了自己的專有方法,將代碼加載到他們的MCU上。制造商每次發(fā)布MCU時(shí),嵌入式軟件工程師都需要了解其專有協(xié)議,以將代碼加載到微控制器中。

而且,調(diào)試適配器很昂貴,因?yàn)橹圃焐虒?shí)際上并沒有競爭者可以使調(diào)試適配器與他們的協(xié)議相匹配,因?yàn)閰f(xié)議是專有的。它們昂貴的另一個(gè)原因是由于體積不足,因?yàn)樗鼈冎荒軐⒄{(diào)試適配器出售給使用它們制造的MCU的公司(工程師)。

不同協(xié)議還會(huì)導(dǎo)致開發(fā)成本增加,比如:你在設(shè)計(jì)的板上有來自4個(gè)不同制造商的4種芯片,并且希望對其進(jìn)行一些自動(dòng)化測試以提高生產(chǎn)過程的效率。但是,由于所有電路板都有自己的協(xié)議,因此您需要制作一個(gè)能適應(yīng)復(fù)雜性的超級復(fù)雜的生產(chǎn)代碼,并且需要在電路板上的測試點(diǎn)安裝4個(gè)不同的調(diào)試器,從而增加了成本,生產(chǎn)時(shí)間和編程時(shí)間。

3.制定協(xié)議

各種下載調(diào)試不同會(huì)導(dǎo)致幾個(gè)問題:

投入更多的學(xué)習(xí)時(shí)間

增加購買下載調(diào)試的成本

生成測試效率低下

為了解決這一問題,各大MCU制造和生產(chǎn)商的工程師們就針對調(diào)試制定了一些規(guī)范協(xié)議。

3

JTAG標(biāo)準(zhǔn)

JTAG:Joint Test Action Group,即聯(lián)合測試行動(dòng)小組。

該小組于1980年后期開始討論,并于1990年正式發(fā)布了解釋IEEE標(biāo)準(zhǔn)的文檔。(IEEE代表電氣電子工程師協(xié)會(huì),是一個(gè)國際組織,其中發(fā)布了所有標(biāo)準(zhǔn),如WiFi,藍(lán)牙等)。他們提出的協(xié)議在1990年被記錄在IEEE 1149.1中。后來對該文檔進(jìn)行了修訂和完善,在撰寫本文時(shí),最新標(biāo)準(zhǔn)是IEEE 1149.7。

JTAG基本上帶有5個(gè)引腳:

TDI: Test Data In。串行輸入引腳

TDO: Test Data Out,串行輸出引腳

TCK:Test Clock,時(shí)鐘引腳

TMS: Test Mode Select,模式選擇(控制信號(hào))引腳

TRST: Test Reset,復(fù)位引腳

4

SWD標(biāo)準(zhǔn)

SWD:Serial Wire Debug,代表串行線調(diào)試,是ARM設(shè)計(jì)的協(xié)議,用于對其微控制器進(jìn)行編程和調(diào)試。

由于SWD專門從事編程和調(diào)試,因此它具有許多特殊功能,通常在其他任何地方都無法使用,例如通過IO線將調(diào)試信息發(fā)送到計(jì)算機(jī)。另外,由于它是ARM專門為在其設(shè)備中使用而制造的,因此SWD的性能通常是同類產(chǎn)品中最好的!

SWD引腳

SWDIO: Serial Wire Data Input Output,串行數(shù)據(jù)輸入輸出引腳

SWCLK: Serial Wire Clock,串行線時(shí)鐘引腳

5

SWD / JTAG的各種區(qū)別

市面上有很多兼容 SWD 和 JTAG 協(xié)議的MCU和調(diào)試適配器,他們通常通過具有一組下載調(diào)試引腳,來實(shí)現(xiàn)下載和調(diào)試功能,這些引腳內(nèi)部復(fù)用到SWD外設(shè)和JTAG外設(shè)。

1.共享引腳

SWD的引腳在一定條件下可以和JTAG引腳復(fù)用,目前針對 JTAG 和 SWD的連接器比較多,比如20pin的接插件:

當(dāng)然,也有10pin的:

2.SWD / JTAG各自優(yōu)勢

SWD協(xié)議的優(yōu)勢:

使用引腳更少,只需SWDIO和SWCLK兩個(gè)引腳

SWD具有特殊功能,例如通過其I / O線打印調(diào)試信息

與JTAG相比,SWD在速度方面具有更好的整體性能

JTAG協(xié)議的優(yōu)勢:

JTAG不僅限于ARM芯片,在ARM之外的芯片也受支持,比如大家熟悉的MSP430

JTAG具有更多多種用途,用于編程,調(diào)試和生產(chǎn)測試

JTAG是一個(gè)獨(dú)立的團(tuán)體,他們會(huì)隨著協(xié)議的發(fā)展而發(fā)展

3.什么時(shí)候選擇SWD而不是JTAG

如果您的原理圖/電路板設(shè)計(jì)足夠簡單,可以在沒有JTAG功能的情況下進(jìn)行測試

調(diào)試性能比生產(chǎn)測試更重要,你的設(shè)備專注于服務(wù)研究而不是批量生產(chǎn)!

MCU在尺寸方面有限制,SWD 可以節(jié)省空間

你的硬件設(shè)計(jì)太復(fù)雜,MCU沒有多余的2個(gè)引腳

6

總結(jié):SWD / JTAG對比

下面用一種圖來總結(jié):

責(zé)任編輯:haq

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 嵌入式
    +關(guān)注

    關(guān)注

    5059

    文章

    18973

    瀏覽量

    302033
  • JTAG
    +關(guān)注

    關(guān)注

    6

    文章

    397

    瀏覽量

    71557
  • SWD
    SWD
    +關(guān)注

    關(guān)注

    1

    文章

    56

    瀏覽量

    11796
收藏 人收藏

    評論

    相關(guān)推薦

    C2000 MCU JTAG 連接調(diào)試

    電子發(fā)燒友網(wǎng)站提供《C2000 MCU JTAG 連接調(diào)試.pdf》資料免費(fèi)下載
    發(fā)表于 09-09 09:30 ?0次下載
    C2000 MCU <b class='flag-5'>JTAG</b> 連接<b class='flag-5'>調(diào)試</b>

    【GD32 MCU 入門教程】二、GD32 MCU 燒錄說明 (2)SWD/JTAG在線下載

    GD32系列MCU支持SWDJTAG(部分型號(hào)不支持)接口進(jìn)行下載調(diào)試,這些功能通過ARM CoreSight組件的標(biāo)準(zhǔn)配置和鏈狀連接的TAP控制器來實(shí)現(xiàn)的。
    的頭像 發(fā)表于 08-08 17:34 ?512次閱讀
    【GD32 MCU 入門教程】二、GD32 MCU 燒錄說明 (2)<b class='flag-5'>SWD</b>/<b class='flag-5'>JTAG</b>在線下載

    是否可以使用JLink工具,通過JTAGSWD引腳在ESP8266上編程和調(diào)試代碼?

    是否可以使用JLink工具,通過JTAGSWD引腳在ESP8266上編程和調(diào)試代碼? 我找不到任何關(guān)于這個(gè)的文檔,似乎沒有人關(guān)心它。請指教。
    發(fā)表于 07-22 08:08

    ESP8266是否可以通過JTAGSWD成功地使用J-Link進(jìn)行編程和調(diào)試?

    是否有可能,如果是的話,是否有人通過JTAGSWD成功地使用J-Link進(jìn)行編程和調(diào)試ESP8266? 我正在使用 Sparkfun Thing 板 (https
    發(fā)表于 07-08 08:19

    STM32F407調(diào)試接口報(bào)錯(cuò)SWD/JTAG Communic怎么解決?

    我畫了一塊電路板,其中的調(diào)試接口接線如下: 但是在進(jìn)行程序下載的時(shí)候 Keil5 報(bào)錯(cuò):SWD/JTAG Communication Failure 我的 Keil5
    發(fā)表于 07-03 06:41

    RISCV soft JTAG調(diào)試_v1.2

    因?yàn)槟壳败浖南拗疲琑ISCV的邏輯不能同時(shí)共用JTAG,所以如果想要同時(shí)去調(diào)試邏輯和RISCV的話,可以通過RISCV的soft Jtag來實(shí)現(xiàn)。soft Jtag就是通過GPIO來
    的頭像 發(fā)表于 04-23 08:38 ?950次閱讀

    SWD接口隔離調(diào)試的電路

    在軟件工程師里面我的硬件水平最好,在調(diào)試軟件的時(shí)候經(jīng)常用到RTT打印或者Jscope打印,但是在關(guān)鍵時(shí)刻jlink經(jīng)常收到干擾數(shù)據(jù)打印錯(cuò)誤,著急的我這個(gè)軟件工程師都想把硬件工程師捏扁,調(diào)試300W
    的頭像 發(fā)表于 03-07 21:19 ?852次閱讀
    <b class='flag-5'>SWD</b><b class='flag-5'>接口</b>隔離<b class='flag-5'>調(diào)試</b>的電路

    RISCV soft JTAG調(diào)試_v1.1

    因?yàn)槟壳败浖南拗疲琑ISCV的邏輯不能同時(shí)共用JTAG,所以如果想要同時(shí)去調(diào)試邏輯和RISCV的話,可以通過RISCV的soft Jtag來實(shí)現(xiàn)。soft Jtag就是通過GPIO來
    的頭像 發(fā)表于 02-23 16:16 ?578次閱讀
    RISCV soft <b class='flag-5'>JTAG</b><b class='flag-5'>調(diào)試</b>_v1.1

    DAP接口JTAG接口調(diào)試有啥區(qū)別?

    DAP接口JTAG接口調(diào)試有啥區(qū)別呀,為啥我接了jtag不可以多核
    發(fā)表于 02-19 06:24

    串行線調(diào)試JTAG有何區(qū)別?

    在基于ARM7的ADuC器件上,通過JTAG調(diào)試和下載到Flash。在AduCM360上,JTAG被串行線調(diào)試取代。 串行線調(diào)試
    發(fā)表于 01-15 07:35

    SWD端口無法連接如何排查

    大家在調(diào)試GD32 MCU的時(shí)候是否也碰到過SWD調(diào)試端口無法連接的情況?SWD端口無法連接的原因有很多,有時(shí)候排查沒有思路,可能會(huì)耽誤大家的時(shí)間,下面小編為大家介紹常見的
    的頭像 發(fā)表于 01-10 10:46 ?2075次閱讀
    <b class='flag-5'>SWD</b>端口無法連接如何排查

    jlink和串口的區(qū)別

    和應(yīng)用。 Jlink是一種支持調(diào)試和仿真的硬件接口工具。它由SEGGER公司推出,可用于連接計(jì)算機(jī)和嵌入式設(shè)備,以進(jìn)行調(diào)試、編程和測試等操作。Jlink支持多種通信協(xié)議,如JTAG
    的頭像 發(fā)表于 01-04 09:31 ?1652次閱讀

    jtag接口swd接口區(qū)別

    jtag接口swd接口區(qū)別 JTAG (Joint Test Action Group)
    的頭像 發(fā)表于 12-07 15:29 ?5907次閱讀

    你真正了解SWD如何下載調(diào)試的么?

    SWJ-DP 這是一個(gè)組合調(diào)試端口,可以通過ADIv5.1定義的JTAG或串行線協(xié)議進(jìn)行通信。它包含兩個(gè)調(diào)試端口SW-DP和JTAG-DP,您可以通過
    的頭像 發(fā)表于 12-06 11:20 ?1477次閱讀
    你真正了解<b class='flag-5'>SWD</b>如何下載<b class='flag-5'>調(diào)試</b>的么?

    JTAG仿真器接口設(shè)計(jì)

    電子發(fā)燒友網(wǎng)站提供《JTAG仿真器接口設(shè)計(jì).pdf》資料免費(fèi)下載
    發(fā)表于 11-27 10:05 ?2次下載
    <b class='flag-5'>JTAG</b>仿真器<b class='flag-5'>接口</b>設(shè)計(jì)