91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

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

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

FPGA之家 ? 來(lái)源:知曉編程 ? 作者:知曉編程 ? 2021-07-23 17:53 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

01JTAG簡(jiǎn)介

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是德國(guó)SEGGER公司推出基于JTAG的仿真器。簡(jiǎn)單地說,是給一個(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介紹

邊界測(cè)試:

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

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用來(lái)端口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引腳,用來(lái)復(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ù)位供電,也是可以脫離原來(lái)的JTAG禁止?fàn)顟B(tài)。也可以拉高boot0管腳。

編輯:jq

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

    關(guān)注

    6

    文章

    415

    瀏覽量

    74946

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

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

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    JTAG各類接口針腳定義、含義及SWD接線方式

    JTAG有10pin的、14pin的和20pin的,盡管引腳數(shù)和引腳的排列順序不同,但是其中有一些引腳是一樣的,各個(gè)引腳的定義如下。一、引腳定義 Test Clock Input (TCK
    發(fā)表于 01-22 06:11

    用于SWD/JTAG調(diào)試器的多功能轉(zhuǎn)接板設(shè)計(jì)

    這款多功能轉(zhuǎn)接板主要設(shè)計(jì)用于與 J-Link 調(diào)試器配合使用(同時(shí)兼容其他采用標(biāo)準(zhǔn) 20 引腳 JTAG/SWD 引腳定義的調(diào)試器),允許用戶在 0.1" (2.54mm
    的頭像 發(fā)表于 01-19 09:46 ?3229次閱讀
    用于<b class='flag-5'>SWD</b>/<b class='flag-5'>JTAG</b>調(diào)試器的多功能轉(zhuǎn)接板設(shè)計(jì)

    KEIL燒錄時(shí)顯示“SWD/JTAG communication failure”的解決方案

    問題描述 提示:這里描述項(xiàng)目中遇到的問題: 由于其中一個(gè)端口電平只能輸出到3.3V,導(dǎo)致電機(jī)無(wú)法被驅(qū)動(dòng),但其余端口都能夠輸出符合要求的高電平,且在下載燒錄程序時(shí)顯示“SWD/JTAG
    發(fā)表于 01-19 08:03

    如何在Zynq UltraScale+ MPSoC平臺(tái)上通過JTAG啟動(dòng)嵌入式Linux鏡像

    在之前文章中,我們介紹了如何使用 XSCT 工具通過 JTAG 在 Zynq SoC 上啟動(dòng)嵌入式 Linux 鏡像(從 JTAG 啟動(dòng) Zynq-7000 嵌入式 Linux:使用 XSCT 全
    的頭像 發(fā)表于 01-13 11:45 ?4251次閱讀

    cw32L系列是不是用不了JTAG?只是用SWD接口?

    cw32L系列是不是用不了JTAG?只是用SWD接口?
    發(fā)表于 12-08 06:21

    請(qǐng)問jtag和jlink有什么區(qū)別?。?/a>

    jtag和jlink有什么區(qū)別???
    發(fā)表于 11-28 06:46

    嵌入式開發(fā)調(diào)試神器全解析:JTAG、SWD、串口打印

    寫嵌入式代碼只是第一步,調(diào)試才是決定項(xiàng)目能不能順利推進(jìn)的關(guān)鍵。MCU不跑?外設(shè)不響應(yīng)?代碼跑飛?沒有合適的調(diào)試手段,排查問題就像摸黑找路。本文帶你搞懂三大調(diào)試?yán)鳌?b class='flag-5'>JTAG、SWD、串口打印。不僅
    的頭像 發(fā)表于 11-24 19:04 ?873次閱讀
    嵌入式開發(fā)調(diào)試神器全解析:<b class='flag-5'>JTAG</b>、<b class='flag-5'>SWD</b>、串口打印

    JTAG引腳用作普通IO

    JTAG引腳用作普通IO時(shí),需要通過復(fù)用功能重映射來(lái)釋放調(diào)試接口占用的引腳資源。 void JTAG_To_GPIO_Config(void) { // 關(guān)閉JTAG功能(保留SWD
    發(fā)表于 11-13 06:39

    vivado JTAG鏈、連接、IP關(guān)聯(lián)規(guī)則介紹

    這列出了定義板上可用的不同JTAG鏈。每個(gè)鏈都列在下面以及鏈的名稱,以及定義名稱和鏈中組件的位置。
    的頭像 發(fā)表于 10-15 10:21 ?566次閱讀
    vivado <b class='flag-5'>JTAG</b>鏈、連接、IP關(guān)聯(lián)規(guī)則介紹

    JTAG標(biāo)準(zhǔn)的狀態(tài)機(jī)實(shí)現(xiàn)

    JTAG作為一項(xiàng)國(guó)際標(biāo)準(zhǔn)測(cè)試協(xié)議(IEEE1149.1兼容),主要用于芯片內(nèi)部測(cè)試和調(diào)試。目前的主流芯片均支持JTAG協(xié)議,如DSP、FPGA、ARM、部分單片機(jī)等。標(biāo)準(zhǔn)的JTAG接口是20Pin,但
    的頭像 發(fā)表于 08-21 15:12 ?2697次閱讀
    <b class='flag-5'>JTAG</b>標(biāo)準(zhǔn)的狀態(tài)機(jī)實(shí)現(xiàn)

    是否可以使用 SEGGER J-Link(JTAG/SWD)重寫 PMG1-S3 的量產(chǎn)固件?

    是否可以使用 SEGGER J-Link(JTAG/SWD)重寫 PMG1-S3 的量產(chǎn)固件?
    發(fā)表于 07-31 06:31

    FPGA的Jtag接口燒了,怎么辦?

    在展開今天的文章前,先來(lái)討論一個(gè)問題:FPGA的jtag接口燒了怎么辦?JTAG接口的輸入引腳通常設(shè)計(jì)為高阻抗,這使得它們對(duì)靜電電荷積累非常敏感,由于JTAG接口需要頻繁連接調(diào)試器、下載線纜等外
    的頭像 發(fā)表于 04-27 11:01 ?2610次閱讀
    FPGA的<b class='flag-5'>Jtag</b>接口燒了,怎么辦?

    將NXP RT1166更換為RT1064,可以使用JTAG/SWD存儲(chǔ)和檢索其閃存上的數(shù)據(jù)嗎?

    我在我的項(xiàng)目中使用了 RT1166,但是,其中一個(gè)要求是芯片應(yīng)該具有可被 JTAG/SWD 訪問的內(nèi)部閃存。 RT1166 有,但 RT1064 有 4MB 的內(nèi)部 Flash。 我可以使用 JTAG/
    發(fā)表于 04-07 06:29

    NXP MCU RT1166如何使用JTAG/SWD工具將數(shù)據(jù)存儲(chǔ)到內(nèi)部閃存中?

    我需要使用 JTAG 將數(shù)據(jù)存儲(chǔ)到內(nèi)部閃存中。我能夠使用 JTAG/SWD 工具 ARM J-Link 將它們存儲(chǔ)在 FlexSPI1 連接的外部閃存上,并且可以通過地址0x30000000訪問
    發(fā)表于 04-01 06:54

    使用NXP控制器LPC55S69JBD100E,編程都需要SWDJTAG嗎?

    1. 在我們的項(xiàng)目中,我們使用 NXP 控制器LPC55S69JBD100E。編程都需要 SWDJTAG 嗎? 2. 您能解釋一下 Flash 編程嗎?
    發(fā)表于 03-27 07:23