下載調(diào)試接口SWD和JTAG的區(qū)別
2.調(diào)試器協(xié)議混亂現(xiàn)象
投入更多的學(xué)習(xí)時(shí)間
增加購買下載調(diào)試的成本
生成測試效率低下
為了解決這一問題,各大MCU制造和生產(chǎn)商的工程師們就針對(duì)調(diào)試制定了一些規(guī)范協(xié)議。
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中。后來對(duì)該文檔進(jìn)行了修訂和完善,在撰寫本文時(shí),最新標(biāo)準(zhǔn)是IEEE 1149.7。
SWD:Serial Wire Debug,代表串行線調(diào)試,是ARM設(shè)計(jì)的協(xié)議,用于對(duì)其微控制器進(jìn)行編程和調(diào)試。
由于SWD專門從事編程和調(diào)試,因此它具有許多特殊功能,通常在其他任何地方都無法使用,例如通過IO線將調(diào)試信息發(fā)送到計(jì)算機(jī)。另外,由于它是ARM專門為在其設(shè)備中使用而制造的,因此SWD的性能通常是同類產(chǎn)品中最好的!
市面上有很多兼容 SWD 和 JTAG 協(xié)議的MCU和調(diào)試適配器,他們通常通過具有一組下載調(diào)試引腳,來實(shí)現(xiàn)下載和調(diào)試功能,這些引腳內(nèi)部復(fù)用到SWD外設(shè)和JTAG外設(shè)。
1.共享引腳
SWD的引腳在一定條件下可以和JTAG引腳復(fù)用,目前針對(duì) JTAG 和 SWD的連接器比較多,比如20pin的接插件:
使用引腳更少,只需SWDIO和SWCLK兩個(gè)引腳
SWD具有特殊功能,例如通過其I / O線打印調(diào)試信息
與JTAG相比,SWD在速度方面具有更好的整體性能
JTAG不僅限于ARM芯片,在ARM之外的芯片也受支持,比如大家熟悉的MSP430
JTAG具有更多多種用途,用于編程,調(diào)試和生產(chǎn)測試
JTAG是一個(gè)獨(dú)立的團(tuán)體,他們會(huì)隨著協(xié)議的發(fā)展而發(fā)展
如果您的原理圖/電路板設(shè)計(jì)足夠簡單,可以在沒有JTAG功能的情況下進(jìn)行測試
調(diào)試性能比生產(chǎn)測試更重要,你的設(shè)備專注于服務(wù)研究而不是批量生產(chǎn)!
MCU在尺寸方面有限制,SWD 可以節(jié)省空間
你的硬件設(shè)計(jì)太復(fù)雜,MCU沒有多余的2個(gè)引腳
下面用一種圖來總結(jié):
程序猿如何選擇開源協(xié)議?
線程、進(jìn)程、多線程、多進(jìn)程 和 多任務(wù)?
幾款優(yōu)秀的支持C、C++等多種語言的在線編譯器
長按前往圖中包含的公眾號(hào)關(guān)注
免責(zé)聲明:本文內(nèi)容由21ic獲得授權(quán)后發(fā)布,版權(quán)歸原作者所有,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。文章僅代表作者個(gè)人觀點(diǎn),不代表本平臺(tái)立場,如有問題,請(qǐng)聯(lián)系我們,謝謝!