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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

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

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

作者 | strongerHuang

微信公眾號 | strongerHuang

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

1

什么是下載調試器

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

2

調試器協議標準

1.什么是標準?

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

2.調試器協議混亂現象

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

而且,調試適配器很昂貴,因為制造商實際上并沒有競爭者可以使調試適配器與他們的協議相匹配,因為協議是專有的。它們昂貴的另一個原因是由于體積不足,因為它們只能將調試適配器出售給使用它們制造的MCU的公司(工程師)。

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

3.制定協議

各種下載調試不同會導致幾個問題:

投入更多的學習時間

增加購買下載調試的成本

生成測試效率低下

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

3

JTAG標準

JTAG:Joint Test Action Group,即聯合測試行動小組。

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

JTAG基本上帶有5個引腳:

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

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

TCK:Test Clock,時鐘引腳

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

TRST: Test Reset,復位引腳

4

SWD標準

SWD:Serial Wire Debug,代表串行線調試,是ARM設計的協議,用于對其微控制器進行編程和調試。

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

SWD引腳

SWDIO: Serial Wire Data Input Output,串行數據輸入輸出引腳

SWCLK: Serial Wire Clock,串行線時鐘引腳

5

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

市面上有很多兼容 SWD 和 JTAG 協議的MCU和調試適配器,他們通常通過具有一組下載調試引腳,來實現下載和調試功能,這些引腳內部復用到SWD外設和JTAG外設。

1.共享引腳

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

當然,也有10pin的:

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

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

使用引腳更少,只需SWDIO和SWCLK兩個引腳

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

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

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

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

JTAG具有更多多種用途,用于編程,調試和生產測試

JTAG是一個獨立的團體,他們會隨著協議的發(fā)展而發(fā)展

3.什么時候選擇SWD而不是JTAG

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

調試性能比生產測試更重要,你的設備專注于服務研究而不是批量生產!

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

你的硬件設計太復雜,MCU沒有多余的2個引腳

6

總結:SWD / JTAG對比

下面用一種圖來總結:

責任編輯:haq

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

    關注

    5143

    文章

    19561

    瀏覽量

    315449
  • JTAG
    +關注

    關注

    6

    文章

    403

    瀏覽量

    72986
  • SWD
    SWD
    +關注

    關注

    1

    文章

    57

    瀏覽量

    12161
收藏 人收藏
  • giannis_1

評論

相關推薦
熱點推薦

RISC-V JTAG:開啟MCU 芯片調試之旅

基于 RISC-V 架構的 MCU 芯片JTAG 調試過程及操作,為后續(xù)類似調試工作提供詳實參考的依據,助力研發(fā)團隊高效推進芯片研發(fā)進程。 RISC-V 架構以其開源、模塊化等優(yōu)勢在 MCU 芯片領域嶄露頭角。
的頭像 發(fā)表于 05-07 17:57 ?1189次閱讀
RISC-V <b class='flag-5'>JTAG</b>:開啟MCU 芯片<b class='flag-5'>調試</b>之旅

FPGA的Jtag接口燒了,怎么辦?

在展開今天的文章前,先來討論一個問題:FPGA的jtag接口燒了怎么辦?JTAG接口的輸入引腳通常設計為高阻抗,這使得它們對靜電電荷積累非常敏感,由于
的頭像 發(fā)表于 04-27 11:01 ?586次閱讀
FPGA的<b class='flag-5'>Jtag</b><b class='flag-5'>接口</b>燒了,怎么辦?

將NXP RT1166更換為RT1064,可以使用JTAG/SWD存儲和檢索其閃存上的數據嗎?

我在我的項目中使用了 RT1166,但是,其中一個要求是芯片應該具有可被 JTAG/SWD 訪問的內部閃存。 RT1166 有,但 RT1064 有 4MB 的內部 Flash。 我可以使用 JTAG/
發(fā)表于 04-07 06:29

NXP MCU RT1166如何使用JTAG/SWD工具將數據存儲到內部閃存中?

我需要使用 JTAG 將數據存儲到內部閃存中。我能夠使用 JTAG/SWD 工具 ARM J-Link 將它們存儲在 FlexSPI1 連接的外部閃存上,并且可以通過地址0x30000000訪問
發(fā)表于 04-01 06:54

使用NXP控制器LPC55S69JBD100E,編程都需要SWDJTAG嗎?

1. 在我們的項目中,我們使用 NXP 控制器LPC55S69JBD100E。編程都需要 SWDJTAG 嗎? 2. 您能解釋一下 Flash 編程嗎?
發(fā)表于 03-27 07:23

通過JTAG接口對MSP430進行編程

電子發(fā)燒友網站提供《通過JTAG接口對MSP430進行編程.pdf》資料免費下載
發(fā)表于 10-31 09:31 ?1次下載
通過<b class='flag-5'>JTAG</b><b class='flag-5'>接口</b>對MSP430進行編程

C2000 MCU JTAG 連接調試

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

SPI、UART、RGMII、JTAG接口的低電壓轉換

電子發(fā)燒友網站提供《SPI、UART、RGMII、JTAG接口的低電壓轉換.pdf》資料免費下載
發(fā)表于 08-30 11:09 ?0次下載
SPI、UART、RGMII、<b class='flag-5'>JTAG</b><b class='flag-5'>接口</b>的低電壓轉換

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

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

JTAG接口:電子產品開發(fā)和生產中的“萬能鑰匙”

JTAG(Joint Test Action Group,聯合測試行動小組)接口是一種 國際標準的電子電路測試協議 ,最初是為了便于芯片級的測試和調試而開發(fā)的。JTAG技術主要應用于
發(fā)表于 08-07 16:23

開發(fā)攻略之STM32調試端口的映射

需要先進行一定的設置。一、STM32的調試方式選擇STM32支持JTAGSWD兩種調試方式,且默認狀態(tài)下這兩種調試功能都是開啟的。STM3
的頭像 發(fā)表于 08-03 08:11 ?793次閱讀
開發(fā)攻略之STM32<b class='flag-5'>調試</b>端口的映射

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

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

如何使用JTAG調試ESP-12模塊?

我想使用 JTAG調試 ESP-12 模塊。我知道這個模塊使用Xtensa LX106內核,并且這個內核具有JTAG功能。那么,如果我正確配置了引腳,我可以使用JTAG dubug
發(fā)表于 07-19 10:57

ESP8266是否可以通過JTAGSWD成功地使用J-Link進行編程和調試?

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

STM32F407調試接口報錯SWD/JTAG Communic怎么解決?

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

電子發(fā)燒友

中國電子工程師最喜歡的網站

  • 2931785位工程師會員交流學習
  • 獲取您個性化的科技前沿技術信息
  • 參加活動獲取豐厚的禮品