<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          關(guān)于JTAG,你知道的和不知道的都在這里

          共 2401字,需瀏覽 5分鐘

           ·

          2021-02-20 11:10



          01
          JTAG簡介


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

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

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

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

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

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

          文檔下載地址:

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

          提取碼:xaaf

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

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

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

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

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

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

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

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


          02
          JTAG介紹


          邊界測試:

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

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

          JTAG的菊花鏈還有很多玩法

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


          03
          JTAG和SWD


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

          VCC、SWDIOSWCLK、GND(有些情況,也加上了RESET)


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

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

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

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

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

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

          JlinkJTAG模式和SWD模式對比圖

          JTAG引腳說明

          SWD引腳說明


          04
          關(guān)于Vref引腳


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

          Jlink上有Vref的跳線帽。

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

          如果要Jlink1Vref輸出3.3V,直接將②和③短接即可。


          05
          關(guān)于TRST引腳


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

          STM32F207為例,NJTRST引腳在JTAGSWD模式中的說明。

          STM32F207SWJI/O引腳可用性


          06
          RESET引腳作用


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

          這個時候,最常用的做法是,拉高BOOT0管腳,進入MainFlash memory模式,進行debug仿真。

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

          板子上對照:

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





          推薦閱讀:
          專輯|Linux文章匯總
          專輯|程序人生
          專輯|C語言
          我的知識小密圈

          關(guān)注公眾號,后臺回復(fù)「1024」獲取學(xué)習(xí)資料網(wǎng)盤鏈接。

          歡迎點贊,關(guān)注,轉(zhuǎn)發(fā),在看,您的每一次鼓勵,我都將銘記于心~


          瀏覽 40
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  美韩av| 中文字幕人乱码中文字的预防方法 | 婷婷成人五月天 | 男女操逼视频在线播放 | 熟女骚逼 |