下載調試器是將PC(例如通過USB協(xié)議)發(fā)送的命令轉換為MCU(負責MCU內部外圍設備)理解的語言(例如SWD或JTAG協(xié)議)的設備,加載代碼并精確控制執(zhí)行。
在SWD和JTAG之類的協(xié)議出現(xiàn)之前,調試器及其協(xié)議一片混亂,每個MCU制造商都提出了自己的專有方法,將代碼加載到他們的MCU上。
制造商每次發(fā)布MCU時,嵌入式軟件工程師都需要了解其專有協(xié)議,以將代碼加載到微控制器中。
而且調試適配器很昂貴,因為制造商實際上并沒有競爭者可以使調試適配器與他們的協(xié)議相匹配,因為協(xié)議是專有的。
它們昂貴的另一個原因是,由于體積不足,因為它們只能將調試適配器出售給使用它們制造的MCU的公司(工程師)。
不同協(xié)議還會導致開發(fā)成本增加,比如:你在設計的板上有來自4個不同制造商的4種芯片,并且希望對其進行一些自動化測試以提高生產過程的效率。
但是,由于所有電路板都有自己的協(xié)議,因此您需要制作一個能適應復雜性的超級復雜的生產代碼,并且需要在電路板上的測試點安裝4個不同的調試器,從而增加了成本,生產時間和編程時間。
該小組于1980年后期開始討論,并于1990年正式發(fā)布了解釋IEEE標準的文檔。(IEEE代表電氣與電子工程師協(xié)會,是一個國際組織,其中發(fā)布了所有標準,如WiFi,藍牙等)。
他們提出的協(xié)議在1990年被記錄在IEEE 1149.1中。后來對該文檔進行了修訂和完善,在撰寫本文時,最新標準是IEEE 1149.7。
SWD:Serial Wire Debug,代表串行線調試,是ARM設計的協(xié)議,用于對其微控制器進行編程和調試。
由于SWD專門從事編程和調試,因此它具有許多特殊功能,通常在其他任何地方都無法使用,例如通過IO線將調試信息發(fā)送到計算機。
另外,由于它是ARM專門為在其設備中使用而制造的,因此SWD的性能通常是同類產品中最好的。
SWD與JTAG各自優(yōu)勢
SWD協(xié)議的優(yōu)勢:
? 使用引腳更少,只需SWDIO和SWCLK兩個引腳;
? SWD具有特殊功能,例如通過其I/O線打印調試信息;
? 與JTAG相比,SWD在速度方面具有更好的整體性能。
JTAG協(xié)議的優(yōu)勢:
? JTAG不僅限于ARM芯片,在ARM之外的芯片也受支持,比如大家熟悉的MSP430;
? JTAG具有更多多種用途,用于編程,調試和生產測試;
? JTAG是一個獨立的團體,他們會隨著協(xié)議的發(fā)展而發(fā)展。
什么時候選擇SWD而不是JTAG:
? 如果您的原理圖/電路板設計足夠簡單,可以在沒有JTAG功能的情況下進行測試;
? 調試性能比生產測試更重要,你的設備專注于服務研究而不是批量生產;
? MCU在尺寸方面有限制,SWD可以節(jié)省空間;
? 你的硬件設計太復雜,MCU沒有多余的2個引腳。
審核編輯:劉清
-
JTAG
+關注
關注
6文章
400瀏覽量
71693 -
調試器
+關注
關注
1文章
305瀏覽量
23742 -
USB協(xié)議
+關注
關注
0文章
29瀏覽量
14302 -
SWD
+關注
關注
1文章
57瀏覽量
11844
發(fā)布評論請先 登錄
相關推薦
評論