7 平臺搭建與下載工具

 

7.4 JTAG與串行調試(SWD

7.4.1 JTAG簡介

   

 JTAG(Joint Test Action Group;聯合測試行動小組)是一種國際標準測試協議(IEEE 1149.1兼容),主要用於芯片內部測試。現在多數的高級器件都支持JTAG協議,如DSPFPGA器件等。標準的JTAG接口是4線:TMSTCKTDITDO,分別爲模式選擇、時鐘、數據輸入和數據輸出線。

    JTAG最初是用來對芯片進行測試的,JTAG的基本原理是在器件內部定義一個TAPTest Access Port;測試訪問口)通過專用的JTAG測試工具對進行內部節點進行測試。JTAG測試允許多個器件通過JTAG接口串聯在一起,形成一個JTAG鏈,能實現對各個器件分別測試。現在,JTAG接口還常用於實現ISPIn-System Programmable�在線編程),對FLASH等器件進行編程。

JTAG編程方式是在線編程,傳統生產流程中先對芯片進行預編程現再裝到板上因此而改變,簡化的流程爲先固定器件到電路板上,再用JTAG編程,從而大大加快工程進度。

具有JTAG口的芯片都有如下JTAG引腳定義:

  TCK——測試時鐘輸入;

  TDI——測試數據輸入,數據通過TDI輸入JTAG口;

  TDO——測試數據輸出,數據通過TDOJTAG口輸出;

  TMS——測試模式選擇,TMS用來設置JTAG口處於某種特定的測試模式。

  可選引腳TRST——測試復位,輸入引腳,低電平有效。

  含有JTAG口的芯片種類較多,如CPUDSPCPLD等。

JTAG內部有一個狀態機,稱爲TAP控制器。TAP控制器的狀態機通過TCKTMS進行狀態的改變,實現數據和指令的輸入。

    JTAG標準定義了一個串行的移位寄存器。寄存器的每一個單元分配給IC芯片的相應引腳,每一個獨立的單元稱爲BSCBoundary-Scan Cell)邊界掃描單元。這個串聯的BSCIC內部構成JTAG迴路,所有的BSRBoundary-Scan Register)邊界掃描寄存器通過JTAG測試激活,平時這些引腳保持正常的IC功能。

 

 

7.4.2 SWD簡介

ARM Cortex-M0 集成了調試的功能。支持串行線調試功能。ARMCortex-M0 被配置爲支持多達 4個斷點和 個觀察點。

串行線調試技術可作爲 CoreSight調試訪問端口的一部分,它提供了針調試端口,這是 JTAG 的低針數和高性能替代產品。

    串行線調試 (SWD) 爲嚴格限制針數的包裝提供一個調試端口,通常用於小包裝微控制器,但也用於複雜 ASIC 微控制器,此時,限制針數至關重要,這可能是設備成本的控制因素。

    SWD 將 針 JTAG 端口替換爲時鐘 單個雙向數據針,以提供所有常規 JTAG 調試和測試功能以及實時系統內存訪問,而無需停止微控制器或需要任何目標駐留代碼。SWD 使用 ARM 標準雙向線協議(在 ARM 調試接口第 版中定義),以標準方式與調試器和目標系統之間高效地傳輸數據。作爲基於 ARM 微控制器的設備的標準接口,軟件開發人員可以使用 ARM 和第三方工具供應商提供的各種可互操作的工具。

l 僅需要 個針 對於非常低的連接設備或包裝至關重要 

l 提供與 JTAG TAP 控制器的調試和測試通信

l 使調試器成爲另一個 AMBA 總線主接口,以訪問系統內存和外設或調試寄存器

l 高性能數據速率 - 4 M 字節/秒 @ 50 MHz

l 低功耗 不需要額外電源或接地插針

l 較小的硅面積 - 2.5k 附加門數

l 低工具成本

l 可靠 內置錯誤檢測

l 安全 防止未連接工具時出現插針故障

 

    SWD 提供了從 JTAG 的輕鬆且無風險的遷移,因爲兩個信號 SWDIO 和 SWCLK 重疊在 TMS 和 TCK 插針上,從而使雙模式設備能夠提供其他 JTAG 信號。在 SWD 模式下,可以將這些額外的 JTAG 針切換到其他用途。SWD 與所有 ARM 微控制器以及使用 JTAG 進行調試的任何微控制器兼容,它可以訪問 Cortex微控制器和 CoreSight 調試基礎結構中的調試寄存器。目前,批量生產設備中實現了串行線技術,例如,NuMicro M051系列微控制器

    ARM 多點 SWD 技術允許通過單個連接同時訪問任意數量的設備,以將 SWD 優點應用於基於多微控制器的複雜 SoC,從而爲複雜設備開發人員提供了低功耗 針調試和跟蹤解決方案。這對連接受限的產品特別重要,例如,手機,其中多晶片和多芯片是很常見的。

    多點 SWD 完全向後兼容,從而保留現有的單一點到點主機設備連接,並允許在未選擇設備時將其完全關閉以降低功耗。

 

SWD串行調試具有以下特性:

l 支持ARM串行線調試模式;

l 可直接對所有存儲器、寄存器和外設進行調試;

l 調試階段不需目標資源;

l 4 個斷點。個指令斷點,可以用來重映射修補代碼的指令地址。2個數據比較器,可用來重映射修補文字的地址;

l 2 個數據觀察點,可用作跟蹤觸發器;

 

 

下表列出了與調試和跟蹤相關的JTAGSWD不同管腳功能。有些功能與其它功能共用管腳,因此這些功能不能同時使用。

表7.4-1 JTAGSWD功能引腳

管教名稱

類型

說明

TCK

輸入

JTAG測試時鐘。該管腳在 JTAG模式下是調試邏輯的時鐘

TMS

輸入

JTAG測試模式選擇。TMS 管腳負責選擇 TAP 狀態機的下一個狀態

TDI

輸入

JTAG測試數據輸入。這是移位寄存器的串行數據輸入

TDO

輸出

JTAG 測試數據輸出。這是移位寄存器的串行數據輸出。在 TCK 信號

的下降沿,數據將通過移位寄存器從器件向外輸出

TRST

輸入

JTAG測試復位。可用TRST 管腳來複位調試邏輯中的測試邏輯

SWCLK

輸入

串行線時鐘。這個管腳在串行線調試模式下是調試邏輯的時鐘

SWDCLK)。在 JTAG 模式下該管腳爲 TCK 管腳

SWDIO

輸入/輸出

串行線調試數據輸入/輸出。外部調試工具可通過 SWDIO 管腳來與

NuMicro M051通訊,並對其進行控制。在 JTAG 模式下該管腳爲 TMS管腳

 

……………………………………………………

 

書籍名稱:ARM Cortex-M0原理與應用實踐

書籍下載地址:http://download.csdn.net/detail/k125008301/4070709

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章