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

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

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

程序下載接口的區(qū)別----JTAG vs SWD

嵌入式應(yīng)用開(kāi)發(fā) ? 來(lái)源:嵌入式應(yīng)用開(kāi)發(fā) ? 作者:嵌入式應(yīng)用開(kāi)發(fā) ? 2022-09-28 14:44 ? 次閱讀

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í)行。

調(diào)試器協(xié)議標(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é)議。

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。

pYYBAGMz7NmAXpifAAEGaHDnsXM248.png

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ù)位引腳

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)品中最好的!

pYYBAGMz7PWACHZYAAESza6wekw803.png

SWD引腳:

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

? SWCLK(Serial Wire Clock):串行線(xiàn)時(shí)鐘引腳

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ì)

SWD和JTAG

連接器比較多,比如20pin的接插件:

pYYBAGMz7SeAcTXOAAIGZhwvJT8153.png

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ā)展。

什么時(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)投訴
  • 接口
    +關(guān)注

    關(guān)注

    33

    文章

    8360

    瀏覽量

    150528
  • JTAG
    +關(guān)注

    關(guān)注

    6

    文章

    394

    瀏覽量

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

    關(guān)注

    1

    文章

    55

    瀏覽量

    11783
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    JTAG接口SWD接口有哪些區(qū)別

    JTAG是什么?JTAG有哪些功能?JTAG接口SWD接口有哪些
    發(fā)表于 10-25 06:54

    JTAG調(diào)試接口SWD調(diào)試接口在硬件上有什么區(qū)別?

    STM32的輸入輸出模式有哪幾種?STM32啟動(dòng)文件(.s)主要實(shí)現(xiàn)什么功能?STM32F1芯片有哪些程序下載方法?什么是CMSIS?JTAG調(diào)試接口
    發(fā)表于 10-28 08:01

    SWDJTAG接口的含義和區(qū)別

    作為嵌入式軟件工程師,下載調(diào)試器都應(yīng)該知道,但你真正了解其SWDJTAG接口的含義和區(qū)別嗎?今天分享一篇公眾號(hào)【嵌入式專(zhuān)欄】整理的關(guān)于
    發(fā)表于 12-10 07:24

    STM32F103的JTAGSWD接口無(wú)法下載程序怎么解決

    STM32F103的JTAGSWD接口被禁用,無(wú)法下載程序今天燒寫(xiě)STM32例程進(jìn)板子的時(shí)候,沒(méi)注意
    發(fā)表于 02-22 08:15

    ARM JTAG接口SWD接口的調(diào)試方式有何區(qū)別

    JTAG下載程序會(huì)失敗,但是SWD發(fā)生的幾率會(huì)小很多?;臼褂?b class='flag-5'>JTAG仿真模式的情況下是可以直接使用S
    發(fā)表于 05-24 15:48

    SWDJTAG之間的區(qū)別

    SWD 模式比 JTAG 在高速模式下面更加可靠。 在大數(shù)據(jù)量的情況下面 JTAG 下載程序會(huì)失敗, 但是
    發(fā)表于 03-04 15:33 ?7次下載

    stm32的JTAGSWD的使用區(qū)別

    stm32的JTAGSWD的使用區(qū)別
    發(fā)表于 12-17 21:49 ?36次下載

    jtagswd有什么不同_jtagswd區(qū)別

    本文從引腳、調(diào)試方式、仿真器的支持和硬件接口四個(gè)方面對(duì)jtagswd進(jìn)行了詳細(xì)的對(duì)比區(qū)別。
    發(fā)表于 01-11 10:06 ?13.5w次閱讀
    <b class='flag-5'>jtag</b>和<b class='flag-5'>swd</b>有什么不同_<b class='flag-5'>jtag</b>和<b class='flag-5'>swd</b>的<b class='flag-5'>區(qū)別</b>

    JTAG接口如何轉(zhuǎn)SWD接口_JTAG接口轉(zhuǎn)SWD接口方法

    本文為大家介紹JTAG接口轉(zhuǎn)SWD接口方法,利用此轉(zhuǎn)換方式,可以簡(jiǎn)化板載調(diào)試接口(相應(yīng)單片機(jī)應(yīng)支持SWD
    發(fā)表于 01-11 10:23 ?3.3w次閱讀
    <b class='flag-5'>JTAG</b><b class='flag-5'>接口</b>如何轉(zhuǎn)<b class='flag-5'>SWD</b><b class='flag-5'>接口</b>_<b class='flag-5'>JTAG</b><b class='flag-5'>接口</b>轉(zhuǎn)<b class='flag-5'>SWD</b><b class='flag-5'>接口</b>方法

    調(diào)試接口SWDJTAG區(qū)別

    作者 | strongerHuang 微信公眾號(hào) | strongerHuang 作為嵌入式工程師,下載調(diào)試器都應(yīng)該知道,但你真正了解其SWDJTAG接口的含義和
    的頭像 發(fā)表于 10-27 09:29 ?1.7w次閱讀
    調(diào)試<b class='flag-5'>接口</b><b class='flag-5'>SWD</b>和<b class='flag-5'>JTAG</b>的<b class='flag-5'>區(qū)別</b>

    下載調(diào)試接口SWDJTAG區(qū)別

    作為嵌入式工程師,下載調(diào)試器都應(yīng)該知道,但你真正了解其 SWDJTAG 接口的含義和區(qū)別嗎? 1、什么是
    的頭像 發(fā)表于 11-28 11:44 ?4432次閱讀

    stm32 SWD調(diào)試接口的使用

    SWD 和傳統(tǒng)的調(diào)試方式區(qū)別??? 1. SWD 模式比 JTAG 在高速模式下面更加可靠。 在大數(shù)據(jù)量的情況下面 JTAG
    發(fā)表于 12-02 17:06 ?27次下載
    stm32 <b class='flag-5'>SWD</b>調(diào)試<b class='flag-5'>接口</b>的使用

    JTAG vs SWD區(qū)別

    下載調(diào)試器是將PC(例如通過(guò)USB協(xié)議)發(fā)送的命令轉(zhuǎn)換為MCU(負(fù)責(zé)MCU內(nèi)部外圍設(shè)備)理解的語(yǔ)言(例如SWDJTAG協(xié)議)的設(shè)備,加載代碼并精確控制執(zhí)行。
    的頭像 發(fā)表于 12-04 10:05 ?3266次閱讀
    <b class='flag-5'>JTAG</b> <b class='flag-5'>vs</b> <b class='flag-5'>SWD</b><b class='flag-5'>區(qū)別</b>

    簡(jiǎn)述SWD下載器通信協(xié)議底層原理

    基于Cortex-M內(nèi)核的單片機(jī),目前主流的下載接口就是JTAGSWDSWDJTAG
    發(fā)表于 02-20 16:05 ?3092次閱讀
    簡(jiǎn)述<b class='flag-5'>SWD</b><b class='flag-5'>下載</b>器通信協(xié)議底層原理

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

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