JTAG介面解讀

2021-06-15 21:09:16 字數 1677 閱讀 3597

通常所說的jtag大致分兩類,一類用於測試晶元的電氣特性,檢測晶元是否有問題;一類用於debug;一般支援jtag的cpu內都包含了這兩個模組。

乙個含有jtag debug介面模組的cpu,只要時鐘正常,就可以通過jtag介面訪問cpu的內部暫存器和掛在cpu匯流排上的裝置,如flash,ram,soc(比如4510b,44box,at91m系列)內建模組的暫存器,象uart,timers,gpio等等的暫存器。

上面說的只是jtag介面所具備的能力,要使用這些功能,還需要軟體的配合,具體實現的功能則由具體的軟體決定。

下面是乙個設定at91m40800的命令序列,關閉中斷,設定cs0-cs3, 並進行remap,適用於axd(ads帶的debug)

setmem 0xfffff124,0xffffffff,32 ---關閉所有中斷

setmem 0xffe00000,0x0100253d,32 ---設定cs0

setmem 0xffe00004,0x02002021,32 ---設定cs1

setmem 0xffe00008,0x0300253d,32 ---設定cs2

setmem 0xffe0000c,0x0400253d,32 ---設定cs3

setmem 0xffe00020,1,32 ---remap

如果要在adw(sdt帶的debug)中使用,則要改為:

let 0xfffff124=0xffffffff ---關閉所有中斷

let 0xffe00000=0x0100253d ---設定cs0

let 0xffe00004=0x02002021 ---設定cs1

let 0xffe00008=0x0300253d ---設定cs2

let 0xffe0000c=0x0400253d ---設定cs3

let 0xffe00020=1 ---remap

為了方便使用,可以將上述命令儲存為乙個檔案config.ini, 在console視窗輸入 ob config.ini 即可執行。

使用其他debug,大體類似,只是命令和命令的格式不同。

使用jtag寫flash。在理論上,通過jtag可以訪問cpu匯流排上的所有裝置,所以應該可以寫flash,但是flash寫入方式和ram大不相同,需要特殊的命令,而且不同的flash擦除,程式設計命令不同,而且塊的大小,數量也不同,很難提供這一項功能。所以一般debug不提供寫flash功能,或者僅支援少量幾種flash。

關於簡單jtag電纜。

目前有各種各樣簡單jtag電纜,其實只是乙個電平轉換電路,同時還起到保護作用。jtag的邏輯則由執行在pc上的軟體實現,所以在理論上,任何乙個簡單jtag電纜,都可以支援各種應用軟體,如debug等。我就曾使用同乙個jtag電纜寫xilinx cpld,axd/adw除錯程式。關鍵再於軟體的支援,大多數軟體都不提供設定功能,因而只能支援某種jtag電纜。

關於簡單jtag電纜的速度。

很明顯,使用簡單jtag電纜無法提高速度。要提高速度,大致有兩種辦法,

1。使用嵌入式系統提供jtag介面,嵌入式系統和微機之間通過usb/ethernet相連,這要求使用mcu。

2。使用cpld/fpga提供jtag介面,cpld/fpga和微機之間使用epp介面(一般微機列印口都支援epp模式),epp介面完成微機和cpld/fpga之間的資料傳輸,cpld/fpga完成jtag時序。

總的來說,本人認為,對於個人愛好者來說,第二種方法更可取。

JTAG介面定義

jtag介面定義 2010 9 8 7 40 00 by zydlyq jtag joint test action group 聯合測試行動小組 是一種國際標準測試協議,主要用於晶元內部測試及對系統進行 除錯,jtag 技術是一種嵌入式除錯技術,它在晶元內部封裝了專門的測試電路 tap test ...

JTAG介面指令集

jtag介面指令集 jtag介面指令集包含以下常用指令 extest指令 外部測試指令,必須全為0,tap強制定義。該指令初始化外部電路測試,主要用於板級互連以及片外電路測試。extest指令在shift dr狀態時將掃瞄暫存器bsr暫存器連線到tdi與tdo之間。在capture dr狀態時,ex...

Jlink介面的Jtag和SWD介面定義

原址 jlink 器介面 器埠 連線目標板 備註1.vcc mcu電源vcc vcc2.vcc mcu電源vcc vcc3.trst trst test reset pin 4.gnd gnd或懸空 5.tdi tditest data in pin 6.gnd gnd或懸空 7.tms,swio ...