JTAG: Lukemalla siruja nivelkokeen toimintaryhmän protokollalla

JTAG: Reading Chips with Joint Test Action Group Protocol

JTAG (yhteinen testiryhmä) on laajalti käytetty protokolla virheenkorjaamiseen, ohjelmointiin ja integroidun piirin (ICS) testaamiseen. Se antaa suoran viestintää sirun kanssa lukea sen muistia, suorittaa rajan skannauksia tai ladata laiteohjelmistoa. Tämä opetusohjelma opastaa sinua JTAG: n käyttämisen perusteiden läpi sirujen lukemiseen, mukaan lukien asetukset, työkalut ja parhaat käytännöt.


Mikä on JTAg?

JTAG on standardoitu käyttöliittymä (IEEE 1149.1), joka tarjoaa tavan testata ja virheenkorjauslaitteita sirun tasolla. Sitä käytetään yleisesti:

  • Laiteohjelmiston kehittäminen ja virheenkorjaus
  • Piirilevyjen testaaminen
  • Vilkkuva laiteohjelmisto laitteille
  • Muistin purkaminen ICS: stä

JTAG käyttää 4 tai 5-napaista käyttöliittymää:

Nasta Kuvaus
TDI Testaa tietoja sisään
Tdo Testitiedot
Kisko Koekello
TMS Testitila Valitse
TRST Test Reset (valinnainen)

Mitä tarvitset

  1. JTAG -sovitin: Laitelaite, joka liittyy sirun kanssa (esim. Segger J-Link, OpenOCD: n tukemat sovittimet).
  2. Kohdeaine: IC tai järjestelmä, jonka haluat lukea.
  3. Ohjelmistotyökalut: JTAG -virheenkorjaussovellukset, kuten OpenOCD, URJTAG tai omistamat työkalut.
  4. Jtag Pinout -dokumentaatio: Pinout -kaavio kohdelaitteelle.
  5. Yhteystarvikkeet: Johdot, otsikot ja leipälevy (tarvittaessa).

Vaihe 1: JTAG -laitteiston asettaminen

1. Tunnista JTAG -rajapinta kohteen laitteessa

  • Katso sirun tietotarvikkeet tai piirilevykaaviot JTAG -nastajen löytämiseksi.
  • JTAG -nastat sisältävät yleiset etiketit TDI, TDO, TCKja TMS.
  • Jotkut levyt ovat merkinneet JTAG-otsikot (esim. 10-nastaiset tai 20-napaiset liittimet).

2. Kytke JTAG -sovitin

  • Johda sovitin kohdeasetelmaan sovittamalla JTAG -pinout:
    • TDI sovittimessa muodostaa yhteyden TDI laitteessa ja niin edelleen.
    • Varmista, että GND on kytketty sovittimen ja kohteen väliin.
    • Anna tarvittaessa virtaa kohdelaitteelle.

3. Varmista jännitteet

  • Varmista, että JTAG -sovitin tukee kohdelaitteen jännitetasoja (esim. 3,3 V tai 1,8 V).
  • Joissakin sovittimissa on konfiguroitavat jänniteasetukset.

Vaihe 2: JTAG -ohjelmistotyökalujen asentaminen

1. OpenOCD (avoin sirun virheenkorjaus)

OpenOCD on avoimen lähdekoodin työkalu, jota käytetään laajasti JTAG-virheenkorjaukseen.

  • Asenna se paketinhallintallasi (esim. apt install openocd Linuxissa).
  • Varmista, että OpenCD tukee JTAG -sovitinta.

2. Urjtag

Kevyt työkalu rajan skannaukseen ja JTAG -perustoimintoihin.

3. Myyjäkohtaiset työkalut

Käytä heidän virallisia ohjelmistojaan, kuten Segger J-Link tai Xilinx, kuten Segger J-Link tai Xilinx:

  • Segger J-Link: Lataa J-Link-työkalut Seggerin verkkosivusto.
  • Xilinx -työkalut: Käytä vivadoa tai vaikutusta FPGA: n virheenkorjaukseen.

Vaihe 3: Tietojen lukeminen sirusta

1. Määritä JTAG -ohjelmisto

  • Luo tai lataa määritystiedosto, joka määrittelee JTAG -sovitin ja kohdeasete.
    • Esimerkki OpenOCD: lle:
      source [find interface/jlink.cfg]
      transport select jtag
      source [find target/stm32f4x.cfg]
      init
      halt
      

2. Tunnista kohdelaite

Suorita komento skannata JTAG -ketju ja tunnista kytketyt laitteet.

  • OpenOCD: lle:
    openocd -f interface/jlink.cfg -f target/stm32f4x.cfg
    
    Etsi havaitut laitteet lähtölokista.

3. kaato muistisisältö

Käytä JTAG -komentoja muistialueiden lukemiseen:

  • OpenOCD: lle:
    dump_image memory.bin 0x08000000 0x10000
    
    • memory.bin: Tiedosto muistin kaatopaikan tallentamiseksi.
    • 0x08000000: Aloita osoite.
    • 0x10000: LUEVAA TAVAT.

4. Suorita rajaskannaukset

Rajan skannaukset Tarkista IC -tapien yhteydet ja toiminnallisuus.

  • Suorita rajan skannaukset URJTAG: llä tai OpenOCD: llä.
  • Esimerkki urjtagissa:
    cable jtagkey
    detect
    bsdl path/to/bsdl/file.bsd
    svf boundary_scan.svf
    

Vaihe 4: Parhaat käytännöt JTAG -virheenkorjaukseen

  1. Kiinnitä yhteys: Käytä lyhyitä, luotettavia johtoja melun minimoimiseksi.
  2. Varmista pinout: Tarkista JTAG-nastayhteydet välttääksesi laitteen vahingoittamisen.
  3. Varmuuskopiointiohjelmisto: Varmuuskopioi aina alkuperäinen laiteohjelmisto ennen muutoksia.
  4. Käytä oikeaa ohjelmistoa: Varmista, että käyttämäsi työkalu tukee kohdelaitetta.
  5. Tarkkaile jännitettä: Varmista, että kohteen laite toimii oikealla jänniteasolla.

JTAG: n sovellukset

  1. Laiteohjelmiston ja ohjelmiston virheenkorjaus
  2. Vilkkuvat uudet laiteohjelmistot tai käynnistyslataimet
  3. Tietojen purkaminen muistista analysoitavaksi
  4. Piirilevyn valmistusvaurioiden diagnosointi
  5. Käänteinen tekniikan laitteisto

Vianetsintä

  • Laitetta ei havaittu:

    • Varmista johdotus ja pinout.
    • Varmista, että kohdeasetus on käynnissä.
    • Tarkista jännitetasot yhteensopivuuden varalta.
  • JTAG -virheet:

    • Varmista, että käytetään oikeaa määritystiedostoa.
    • Yritä laskea JTAG -kellonopeutta, jos viestintä epäonnistuu.
  • Lupa -kysymykset:

    • Varmista Linuxissa, että sinulla on asianmukaiset käyttöoikeudet käyttää USB -laitteita (käytä sudo tai määritä udev säännöt).

Johtopäätös

JTAG on arvokas työkalu virheenkorjaamiseen ja ohjelmointiin alhaisella tasolla. Ymmärtämällä JTAG -laitteistojen ja ohjelmistojen perusteet, voit lukea Chip Memory, Debug Firmware ja suorittaa rajaskannauksia. Kokeile erilaisia ​​työkaluja ja kokoonpanoja käyttääksesi JTAG: tä kokonaan projektissasi!

Jätä kommentti

Notice an Issue? Have a Suggestion?
If you encounter a problem or have an idea for a new feature, let us know! Report a problem or request a feature here.