RM新时代网站-首页

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

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

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

JTAG簡介 JTAG和SWD之間的區(qū)別

FPGA之家 ? 來源:知曉編程 ? 作者:知曉編程 ? 2021-07-23 17:53 ? 次閱讀

01JTAG簡介

JTAG(JointTest ActionGroup)是一個(gè)接口,為了這個(gè)接口成立了一個(gè)小組叫JTAG小組,它成立于1985年。在1990年IEEE覺得一切妥當(dāng),于是發(fā)布了IEEE Standard 1149.1-1990,并命名為Standard Test Access Port and Boundary-ScanArchitecture,這就是大名鼎鼎的JTAG了。

JTAG的三大功能你知道嗎,響當(dāng)當(dāng)?shù)模?/p>

1.下載器,即下載軟件到FLASH里。

2. DEBUG,跟醫(yī)生的聽診器似的,可探聽芯片內(nèi)部小心思。

3. 邊界掃描,可以訪問芯片內(nèi)部的信號(hào)邏輯狀態(tài),還有芯片引腳的狀態(tài)等等。

JTAG根本沒有標(biāo)準(zhǔn)的接口定義,甚至每家公司定義都不一樣。在ARM的《系統(tǒng)和接口設(shè)計(jì)參考》文檔中

文檔下載地址:

鏈接:https://pan.baidu.com/s/13aQXOXR73_wiERz2kwN15w

提取碼:xaaf

(提示:公眾號(hào)不支持外鏈接,請(qǐng)復(fù)制鏈接到瀏覽器下載)

這篇文檔列舉了不同的JTAG接口

而我們經(jīng)常在互聯(lián)網(wǎng)看到的下圖,是SEGGER公司的Jlink的JTAG接口。

d88ba2c6-eb90-11eb-a97a-12bb97331649.jpg

J-Link是德國SEGGER公司推出基于JTAG的仿真器。簡單地說,是給一個(gè)JTAG協(xié)議轉(zhuǎn)換盒,即一個(gè)小型USB到JTAG的轉(zhuǎn)換盒,其連接到計(jì)算機(jī)用的是USB接口,而到目標(biāo)板內(nèi)部用的還是jtag協(xié)議。它完成了一個(gè)從軟件到硬件轉(zhuǎn)換的工作。

同時(shí)Jlink也是個(gè)人覺的最流行的調(diào)試器。通過《系統(tǒng)和接口設(shè)計(jì)參考》可知,這個(gè)ARM官方的JTAG20pin并不相同。

在這里希望大家明白,ARM,Jlink,JTAG之間的關(guān)系。

使用頻率也挺高的ST-linkV2的接口由上文可知,這也是ST公司自己定義的接口

Ulink、CMSIS_DAP和其他STM32仿真器是一樣的道理。

02JTAG介紹

邊界測試:

舉個(gè)例子你有兩個(gè)芯片,這兩個(gè)芯片之間連接了很多很多的線,怎么確保這些線之間的連接是OK的呢,用JTAG,它可以控制所有IC的引腳。這叫做芯片邊界測試。

d8f98764-eb90-11eb-a97a-12bb97331649.png

在JTAG接口中,最常用的信號(hào)有四個(gè),分別是TCK/TMS/TDO/TDI。JTAG接口可以一對(duì)一的使用,也可以組成菊花鏈的一對(duì)多拓?fù)浣Y(jié)構(gòu),兩種拓?fù)浣Y(jié)構(gòu)如下圖所示。多核的芯片,其芯片內(nèi)部已經(jīng)接成了菊花鏈的形式。

d905779a-eb90-11eb-a97a-12bb97331649.png

JTAG的菊花鏈還有很多玩法

CPUFPGA制造商允許JTAG用來端口debug;FPGA廠商允許通過JTAG配置FPGA,使用JTAG信號(hào)通入FPGA核。

03JTAG和SWD

SWD接口:串行調(diào)試(SerialWireDebug),應(yīng)該可以算是一種和JTAG不同的調(diào)試模式,最直接的體現(xiàn)在調(diào)試接口上,與JTAG的20個(gè)引腳相比,SWD只需要4(或者5)個(gè)引腳。

VCC、SWDIO、SWCLK、GND(有些情況,也加上了RESET腳)。

SWD和傳統(tǒng)的調(diào)試方式區(qū)別:

SWD模式比JTAG在高速模式下面更加可靠。在大數(shù)據(jù)量的情況下面JTAG下載程序會(huì)失敗,但是SWD發(fā)生的幾率會(huì)小很多?;臼褂肑TAG仿真模式的情況下是可以直接使用SWD模式的,只要你的仿真器支持,所以推薦大家使用這個(gè)模式。

當(dāng)CPU的GPIO不夠用的時(shí)候,可以使用SWD仿真,這種模式支持更少的引腳。

在硬件PCB的體積有限的時(shí)候推薦使用SWD模式,它需要的引腳少,當(dāng)然需要的PCB空間就小,可以選擇一個(gè)很小的2.54間距的5芯端子做仿真接口。

Keil環(huán)境下Jlink調(diào)試器的JTAG模式和SWD模式

IAR環(huán)境下Jlink調(diào)試器的JTAG模式和SWD模式

Jlink的JTAG模式和SWD模式對(duì)比圖

d9dd2924-eb90-11eb-a97a-12bb97331649.png

04關(guān)于Vref引腳

上面我們提到Vref引腳,屬于IO接口的電源域,目的是為了使芯片邏輯電平與調(diào)試器的邏輯電平一致,避免邏輯錯(cuò)誤,甚至對(duì)設(shè)備造損壞。

在Jlink上有Vref的跳線帽。

三個(gè)排針:①是NC,②是Vref,是和輸出的1腳相連的,③是3.3V

如果要Jlink的1腳Vref輸出3.3V,直接將②和③短接即可。

05關(guān)于TRST引腳

JTAG定義中的TRST引腳,用來復(fù)位TAP控制器的。在STM32系列單片機(jī)中,并沒有TRST引腳,名字為NJTRST。

以STM32F207為例,NJTRST引腳在JTAG和SWD模式中的說明。

STM32F207的SWJI/O引腳可用性

06RESET引腳作用

在一些STM32的產(chǎn)品仿真時(shí)使用4線的SWD模式,發(fā)布版通常會(huì)將JTAG口設(shè)置為普通IO,或者由于管腳不夠用,在發(fā)布版用作其他用途。我們?cè)谡{(diào)試發(fā)布版,因?yàn)榻沽薐TAG模式,沒有辦法仿真了。

這個(gè)時(shí)候,最常用的做法是,拉高BOOT0管腳,進(jìn)入MainFlash memory模式,進(jìn)行debug仿真。

對(duì)比STM32的官方開發(fā)板,我們?cè)谑褂肧WD模式?jīng)]有引出RST引腳,當(dāng)然屬于SWD的還有SWO信號(hào),這是個(gè)監(jiān)視用的,也是非常有用。這兩個(gè)信號(hào)都可以連接仿真器的。

db2d2e6e-eb90-11eb-a97a-12bb97331649.png

仿真器有UnderReset的方式,因此,仿真器在需要仿真的時(shí)候,會(huì)把RST信號(hào)送到MCU,讓MCU處于RST,或者采用Reset后仿真,代碼還沒執(zhí)行到禁止JTAG狀態(tài)下,所以可以直接仿真。當(dāng)然,也可以主動(dòng)復(fù)位供電,也是可以脫離原來的JTAG禁止?fàn)顟B(tài)。也可以拉高boot0管腳。

編輯:jq

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • JTAG
    +關(guān)注

    關(guān)注

    6

    文章

    399

    瀏覽量

    71673

原文標(biāo)題:關(guān)于JTAG,你知道的和不知道的都在這里

文章出處:【微信號(hào):zhuyandz,微信公眾號(hào):FPGA之家】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    JTAG的基礎(chǔ)知識(shí)

    JTAG是一種IEEE標(biāo)準(zhǔn)用來解決板級(jí)問題,開發(fā)于上個(gè)世紀(jì)80年代。今天JTAG被用來燒錄、debug、探查端口。當(dāng)然,最原始的使用是邊界測試。
    的頭像 發(fā)表于 11-15 10:02 ?277次閱讀
    <b class='flag-5'>JTAG</b>的基礎(chǔ)知識(shí)

    通過JTAG接口對(duì)MSP430進(jìn)行編程

    電子發(fā)燒友網(wǎng)站提供《通過JTAG接口對(duì)MSP430進(jìn)行編程.pdf》資料免費(fèi)下載
    發(fā)表于 10-31 09:31 ?0次下載
    通過<b class='flag-5'>JTAG</b>接口對(duì)MSP430進(jìn)行編程

    C2000 MCU JTAG 連接調(diào)試

    電子發(fā)燒友網(wǎng)站提供《C2000 MCU JTAG 連接調(diào)試.pdf》資料免費(fèi)下載
    發(fā)表于 09-09 09:30 ?0次下載
    C2000 MCU <b class='flag-5'>JTAG</b> 連接調(diào)試

    SPI、UART、RGMII、JTAG接口的低電壓轉(zhuǎn)換

    電子發(fā)燒友網(wǎng)站提供《SPI、UART、RGMII、JTAG接口的低電壓轉(zhuǎn)換.pdf》資料免費(fèi)下載
    發(fā)表于 08-30 11:09 ?0次下載
    SPI、UART、RGMII、<b class='flag-5'>JTAG</b>接口的低電壓轉(zhuǎn)換

    Samtec小課堂 | 兩分鐘了解JTAG連接器

    摘要/前言 在回答 “什么是JTAG 連接器?”這個(gè)問題之前,讓我先向大家簡要介紹一下 JTAG。 什么是JTAG? 聯(lián)合測試工作組(Joint Test Action Group,簡稱?JT
    發(fā)表于 08-28 13:59 ?517次閱讀
    Samtec小課堂 | 兩分鐘了解<b class='flag-5'>JTAG</b>連接器

    【GD32 MCU 入門教程】二、GD32 MCU 燒錄說明 (2)SWD/JTAG在線下載

    GD32系列MCU支持SWDJTAG(部分型號(hào)不支持)接口進(jìn)行下載調(diào)試,這些功能通過ARM CoreSight組件的標(biāo)準(zhǔn)配置和鏈狀連接的TAP控制器來實(shí)現(xiàn)的。調(diào)試和跟蹤功能集成在ARM
    的頭像 發(fā)表于 08-08 17:34 ?668次閱讀
    【GD32 MCU 入門教程】二、GD32 MCU 燒錄說明 (2)<b class='flag-5'>SWD</b>/<b class='flag-5'>JTAG</b>在線下載

    是否可以使用JLink工具,通過JTAGSWD引腳在ESP8266上編程和調(diào)試代碼?

    是否可以使用JLink工具,通過JTAGSWD引腳在ESP8266上編程和調(diào)試代碼? 我找不到任何關(guān)于這個(gè)的文檔,似乎沒有人關(guān)心它。請(qǐng)指教。
    發(fā)表于 07-22 08:08

    ESP8266是否可以通過JTAGSWD成功地使用J-Link進(jìn)行編程和調(diào)試?

    是否有可能,如果是的話,是否有人通過JTAGSWD成功地使用J-Link進(jìn)行編程和調(diào)試ESP8266? 我正在使用 Sparkfun Thing 板 (https
    發(fā)表于 07-08 08:19

    STM32F407調(diào)試接口報(bào)錯(cuò)SWD/JTAG Communic怎么解決?

    我畫了一塊電路板,其中的調(diào)試接口接線如下: 但是在進(jìn)行程序下載的時(shí)候 Keil5 報(bào)錯(cuò):SWD/JTAG Communication Failure 我的 Keil5 調(diào)試配置如下:
    發(fā)表于 07-03 06:41

    RISCV soft JTAG調(diào)試_v1.2

    因?yàn)槟壳败浖南拗疲琑ISCV的邏輯不能同時(shí)共用JTAG,所以如果想要同時(shí)去調(diào)試邏輯和RISCV的話,可以通過RISCV的soft Jtag來實(shí)現(xiàn)。soft Jtag就是通過GPIO來實(shí)現(xiàn)的軟件
    的頭像 發(fā)表于 04-23 08:38 ?1055次閱讀

    RISCV soft JTAG調(diào)試_v1.1

    因?yàn)槟壳败浖南拗?,RISCV的邏輯不能同時(shí)共用JTAG,所以如果想要同時(shí)去調(diào)試邏輯和RISCV的話,可以通過RISCV的soft Jtag來實(shí)現(xiàn)。soft Jtag就是通過GPIO來實(shí)現(xiàn)的軟件
    的頭像 發(fā)表于 02-23 16:16 ?652次閱讀
    RISCV soft <b class='flag-5'>JTAG</b>調(diào)試_v1.1

    DAP接口和JTAG接口調(diào)試有啥區(qū)別?

    DAP接口和JTAG接口調(diào)試有啥區(qū)別呀,為啥我接了jtag不可以多核調(diào)試
    發(fā)表于 02-19 06:24

    JTAG接口浪涌靜電保護(hù)方案圖分享

    JTAG接口是一類下載程序的接口,而且也是一類經(jīng)常帶電拔插的接口。
    的頭像 發(fā)表于 01-19 18:08 ?1356次閱讀
    <b class='flag-5'>JTAG</b>接口浪涌靜電保護(hù)方案圖分享

    串行線調(diào)試與JTAG有何區(qū)別?

    在基于ARM7的ADuC器件上,通過JTAG調(diào)試和下載到Flash。在AduCM360上,JTAG被串行線調(diào)試取代。 串行線調(diào)試與JTAG有何區(qū)別?我是否需要新的工具和新的仿真器?
    發(fā)表于 01-15 07:35

    JTAG經(jīng)典問題解析

    請(qǐng)問,JTAG有5個(gè)端口,為什么Trst是可選的復(fù)位端口?
    的頭像 發(fā)表于 12-27 10:30 ?853次閱讀
    <b class='flag-5'>JTAG</b>經(jīng)典問題解析
    RM新时代网站-首页