0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創(chuàng)作中心

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

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

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

454398 ? 來(lái)源:alpha007 ? 作者:alpha007 ? 2022-11-28 11:44 ? 次閱讀

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

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

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

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

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

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

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

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

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

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

3. 制定協(xié)議各種下載調(diào)試不同會(huì)導(dǎo)致幾個(gè)問(wèn)題:

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

增加購(gòu)買(mǎi)下載調(diào)試的成本

生成測(cè)試效率低下

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

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

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

該小組于 1980 年后期開(kāi)始討論,并于 1990 年正式發(fā)布了解釋 IEEE 標(biāo)準(zhǔn)的文檔。(IEEE 代表電氣電子工程師協(xié)會(huì),是一個(gè)國(guó)際組織,其中發(fā)布了所有標(biāo)準(zhǔn),如 WiFi,藍(lán)牙等)。他們提出的協(xié)議在 1990 年被記錄在 IEEE 1149.1 中。后來(lái)對(duì)該文檔進(jìn)行了修訂和完善,在撰寫(xiě)本文時(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,代表串行線(xiàn)調(diào)試,是 ARM 設(shè)計(jì)的協(xié)議,用于對(duì)其微控制器進(jìn)行編程和調(diào)試。

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

SWD 引腳 SWDIO:Serial Wire Data Input Output,串行數(shù)據(jù)輸入輸出引腳 SWCLK:Serial Wire Clock,串行線(xiàn)時(shí)鐘引腳

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

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

1. 共享引腳

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

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

2.SWD / JTAG 各自?xún)?yōu)勢(shì) SWD 協(xié)議的優(yōu)勢(shì):

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

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

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


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

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

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

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

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

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

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

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

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


審核編輯黃昊宇

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

    關(guān)注

    6

    文章

    403

    瀏覽量

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

    關(guān)注

    1

    文章

    57

    瀏覽量

    12161
  • 調(diào)試接口
    +關(guān)注

    關(guān)注

    0

    文章

    10

    瀏覽量

    5182
收藏 1人收藏

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    RISC-V JTAG:開(kāi)啟MCU 芯片調(diào)試之旅

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

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

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

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

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

    NXP MCU RT1166如何使用JTAG/SWD工具將數(shù)據(jù)存儲(chǔ)到內(nèi)部閃存中?

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

    通過(guò)JTAG接口對(duì)MSP430進(jìn)行編程

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

    通過(guò)JTAG接口使用SimpleLink?MSP432E4微控制器

    電子發(fā)燒友網(wǎng)站提供《通過(guò)JTAG接口使用SimpleLink?MSP432E4微控制器.pdf》資料免費(fèi)下載
    發(fā)表于 09-14 10:23 ?0次下載
    通過(guò)<b class='flag-5'>JTAG</b><b class='flag-5'>接口</b>使用SimpleLink?MSP432E4微控制器

    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>

    SPI、UART、RGMII、JTAG接口的低電壓轉(zhuǎn)換

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

    【GD32 MCU 入門(mén)教程】二、GD32 MCU 燒錄說(shuō)明 (2)SWD/JTAG在線(xiàn)下載

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

    JTAG接口:電子產(chǎn)品開(kāi)發(fā)和生產(chǎn)中的“萬(wàn)能鑰匙”

    JTAG(Joint Test Action Group,聯(lián)合測(cè)試行動(dòng)小組)接口是一種 國(guó)際標(biāo)準(zhǔn)的電子電路測(cè)試協(xié)議 ,最初是為了便于芯片級(jí)的測(cè)試和調(diào)試而開(kāi)發(fā)的。JTAG技術(shù)主要應(yīng)用于
    發(fā)表于 08-07 16:23

    開(kāi)發(fā)攻略之STM32調(diào)試端口的映射

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

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

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

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

    是否有可能,如果是的話(huà),是否有人通過(guò)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怎么解決?

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

    VSCODE可使用ESP32C3 USB接口直接下載嗎?

    1:現(xiàn)在可以通過(guò)ESP32C3 DOWNLOAD TOOL V3.9.2 下載,但是VSCODE 可使用ESP32C3 USB接口直接下載嗎? 2:VSCODE ESP32 C3有兩個(gè)選項(xiàng)
    發(fā)表于 06-18 07:33

    電子發(fā)燒友

    中國(guó)電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會(huì)員交流學(xué)習(xí)
    • 獲取您個(gè)性化的科技前沿技術(shù)信息
    • 參加活動(dòng)獲取豐厚的禮品