JTAG: SHIPS -TESTI -TESTIKIRJA -RYHMÄPOTOLLISUUS

JTAG: Writing Chips with Joint Test Action Group Protocol

JTAG: tä (yhteinen testiryhmä) ei käytetä vain muistin lukemiseen ja laitteistojen virheenkorjaamiseen, vaan myös tietojen kirjoittamiseen siruille. Tähän sisältyy laiteohjelmiston vilkkuminen, ohjelmointimuisti ja FPGA: n määrittäminen. Tämä opetusohjelma opastaa sinua kirjoitusprosessin siruille JTAG: n avulla, mukaan lukien asetukset, työkalut ja parhaat käytännöt.


Mikä on JTAG -kirjoitus?

JTAG -kirjoituksella tarkoitetaan ohjelmointia tai vilkkuvaa tietoa integroidun piiriin (IC) sen JTAG -rajapinnan kautta. Tätä prosessia käytetään yleisesti:

  • Vilkkuvat laiteohjelmistot tai käynnistyslataimet
  • Konfigurointitiedostojen kirjoittaminen FPGA: ksi
  • Haihtumaton muistin ohjelmointi (esim. EEPROM, salama)
  • Ohjelmiston tai laiteohjelmiston päivittäminen sulautetuissa järjestelmissä

JTAG -rajapinta tarjoaa suoran pääsyn siruun, mikä mahdollistaa muistin ja kokoonpanon tarkan ohjauksen.


Mitä tarvitset

  1. JTAG -sovitin: JTAG-viestinnän laitteistorajapinta (esim. Segger J-Link, Xilinx Platform -kaapeli, OpenOCD: n tukemat sovittimet).
  2. Kohdeaine: Siru tai järjestelmä, jonka haluat ohjelmoida.
  3. Ohjelmistotyökalut: Työkalut, kuten OpenOCD, URJTAG, Vivado (Xilinxille) tai Seggerin J-Link-ohjelmisto.
  4. Laiteohjelmisto/määritystiedosto: Sirulle kirjoitettava tiedosto (esim. .bin, .hex, .svf).
  5. Jtag Pinout -dokumentaatio: Pinout -kaavio kohdelaitteelle.
  6. Yhteystarvikkeet: Johdot, otsikot ja leipälevy (tarvittaessa).

Vaihe 1: JTAG -laitteiston asettaminen

1. Tunnista JTAG -nastat

  • Ota yhteyttä sirun tietotaulukoihin tai piirilevykaavioihin JTAG -nastajen löytämiseksi.
  • Yleisiä JTAG -nastat -tarrat sisältävät TDI, TDO, TCKja TMS.
  • Joissakin taulukoissa on ennalta määritetty JTAG-otsikot (10-nastainen tai 20-napainen liittimet).

2. Kytke JTAG -sovitin

  • Johda JTAG -sovitin kohdeasetukseen varmistamalla oikeat PIN -yhteydet:
    • TDI (Testaa tietoja) TDI
    • TDO (Testaa tiedot) TDO
    • TCK (Testia kello) TCK
    • TMS (Testitila Valitse) TMS
    • Pohja (GND) on kytkettävä.

3. Varmista jännitteet

  • Tarkista, että JTAG -sovitin vastaa kohdelaitteen jännitetasoja (esim. 3,3 V, 1,8 V).
  • Jotkut sovittimet sallivat konfiguroitavan jänniteasetukset.

Vaihe 2: JTAG -ohjelmistotyökalujen asentaminen

1. OpenOCD

OpenOCD (Open On-Chap Debugger) on suosittu avoimen lähdekoodin työkalu ohjelmointiin ja virheenkorjaukseen.

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

2. Myyjäkohtaiset työkalut

  • Segger J-Link: Käytä Segger J-Link -ohjelmistoa JTAG-toimintoihin.
  • Xilinx Vivado: Ihanteellinen Xilinx FPGA: n ja CPLDS: n ohjelmointiin.
  • Intel Quartus: Intel/Altera -laitteiden ohjelmointi.

3. urjtag

Kevyt työkalu perus -JTAG -toimintoihin, kuten laiteohjelmiston kirjoittamiseen.


Vaihe 3: Tietojen kirjoittaminen sirulle

1. Määritä JTAG -ohjelmisto

Määritä sovitin ja kohdeaste.

  • Esimerkki STM32 -sirun OpenOCD -kokoonpano:
    source [find interface/jlink.cfg]
    transport select jtag
    source [find target/stm32f4x.cfg]
    init
    halt
    

2. Tunnista kohdelaite

Suorita komento skannataksesi JTAG -ketjun ja varmista, että kohdeasetus havaitaan.

  • OpenOCD: lle:
    openocd -f interface/jlink.cfg -f target/stm32f4x.cfg
    
    Katso havaittujen laitteiden tulostusloki.

3. Flash -laiteohjelmisto

Kirjoita laiteohjelmistotiedosto sirulle JTAG -komentojen avulla.

  • Esimerkki OpenOCD -komento:
    program firmware.bin verify reset exit 0x08000000
    
    • firmware.bin: Binaaritiedosto, joka on kirjoitettava.
    • verify: Varmistaa, että tiedot on kirjoitettu oikein.
    • reset: Nollaa laite ohjelmoinnin jälkeen.
    • 0x08000000: Aloita osoite muistissa.

4. Kirjoita kokoonpano FPGA: lle

Käytä FPGA: lle .bit tai .svf tiedostot.

  • Esimerkki urjtag -komennot:
    cable jtagkey
    detect
    svf configure.svf
    

5. Poista muisti ennen kirjoittamista

Jotkut laitteet vaativat muistin poistamista ennen vilkkumista.

  • Esimerkki OpenOCD -komento:
    flash erase_address 0x08000000 0x10000
    

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

  1. Varmuuskopioi olemassa oleva laiteohjelmisto: Lue aina ja tallenna olemassa oleva laiteohjelmisto ennen uusien tietojen kirjoittamista.
  2. Varmista tietojen eheys: Käyttää verify komento onnistuneen ohjelmoinnin varmistamiseksi.
  3. Käytä luotettavia yhteyksiä: Kiinnitä kaikki johdot tietojen korruption estämiseksi kirjoittamisen aikana.
  4. Vastaa jännitetasoja: Varmista, että JTAG -adapteri ja kohdeasetuslaite käyttävät yhteensopivia jännitetasoja.
  5. Tarkista kirjoitussuojaus: Poista kirjoitussuojaus käytöstä (tarvittaessa) ennen ohjelmointia.

JTAG -kirjoittamisen sovellukset

  1. Vilkkuvat laiteohjelmistot tai käynnistyslataimet
  2. FPGA- tai CPLDS -ohjelmointi
  3. Sulautetun järjestelmän ohjelmiston päivittäminen
  4. Konfigurointitietojen kirjoittaminen muistiin
  5. Laiteohjelmiston kehittäminen ja testaaminen reaaliajassa

Vianetsintä

  • Laitetta ei havaittu:

    • Varmista johdotus ja pinout.
    • Varmista, että laite on virtalähde ja maadoitettu oikein.
  • Kirjoita virheitä:

    • Varmista, että muisti-aluetta ei ole suojattu.
    • Tarkista käynnistysosoite ja tiedostomuoto.
  • Vahvistus epäonnistuu:

    • Tarkista luotettavia yhteyksiä.
    • Käytä hitaampaa JTAG -kellonopeutta stabiilisuuden parantamiseksi.

Johtopäätös

JTAG on monipuolinen työkalu laiteohjelmiston kirjoittamiseen, muistin ja ohjelmointilaitteiden määrittämiseen alhaisella tasolla. Seuraamalla tätä opasta voit varmasti käyttää JTAG -ohjelmistoa, päivittää ohjelmistoja ja määrittää laitteistot. JTAG -kirjoituksen hallitseminen mahdollistaa sulautettujen järjestelmien tehokkaan kehittämisen ja ylläpidon!

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.