加入星計(jì)劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴(kuò)散
  • 作品版權(quán)保護(hù)
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長期合作伙伴
立即加入
  • 正文
    • 1、什么是下載調(diào)試器
    • 2、調(diào)試器協(xié)議標(biāo)準(zhǔn)
    • 3、JTAG 標(biāo)準(zhǔn)
    • 4、SWD 標(biāo)準(zhǔn)
    • 5、SWD / JTAG 的各種區(qū)別
    • 6、總結(jié):SWD / JTAG 對比
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請入駐 產(chǎn)業(yè)圖譜

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

2020/10/27
736
閱讀需 6 分鐘
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

作為嵌入式工程師,下載調(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,模式選擇(控制信號)引腳 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é):

相關(guān)推薦

電子產(chǎn)業(yè)圖譜

作者黃工,從事嵌入式軟件開發(fā)工作8年有余,高級嵌入式軟件工程師,業(yè)余維護(hù)公眾號『strongerHuang』,分享嵌入式軟硬件、單片機(jī)、物聯(lián)網(wǎng)等內(nèi)容。