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
- JTAG -sovitin: Laitelaite, joka liittyy sirun kanssa (esim. Segger J-Link, OpenOCD: n tukemat sovittimet).
- Kohdeaine: IC tai järjestelmä, jonka haluat lukea.
- Ohjelmistotyökalut: JTAG -virheenkorjaussovellukset, kuten OpenOCD, URJTAG tai omistamat työkalut.
- Jtag Pinout -dokumentaatio: Pinout -kaavio kohdelaitteelle.
- 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
,TCK
jaTMS
. - 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 yhteydenTDI
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.
- Asentaa urjtagin verkkosivusto.
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
- Esimerkki OpenOCD: lle:
2. Tunnista kohdelaite
Suorita komento skannata JTAG -ketju ja tunnista kytketyt laitteet.
- OpenOCD: lle:
Etsi havaitut laitteet lähtölokista.openocd -f interface/jlink.cfg -f target/stm32f4x.cfg
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
- Kiinnitä yhteys: Käytä lyhyitä, luotettavia johtoja melun minimoimiseksi.
- Varmista pinout: Tarkista JTAG-nastayhteydet välttääksesi laitteen vahingoittamisen.
- Varmuuskopiointiohjelmisto: Varmuuskopioi aina alkuperäinen laiteohjelmisto ennen muutoksia.
- Käytä oikeaa ohjelmistoa: Varmista, että käyttämäsi työkalu tukee kohdelaitetta.
- Tarkkaile jännitettä: Varmista, että kohteen laite toimii oikealla jänniteasolla.
JTAG: n sovellukset
- Laiteohjelmiston ja ohjelmiston virheenkorjaus
- Vilkkuvat uudet laiteohjelmistot tai käynnistyslataimet
- Tietojen purkaminen muistista analysoitavaksi
- Piirilevyn valmistusvaurioiden diagnosointi
- 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).
- Varmista Linuxissa, että sinulla on asianmukaiset käyttöoikeudet käyttää USB -laitteita (käytä
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!