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
- JTAG -sovitin: JTAG-viestinnän laitteistorajapinta (esim. Segger J-Link, Xilinx Platform -kaapeli, OpenOCD: n tukemat sovittimet).
- Kohdeaine: Siru tai järjestelmä, jonka haluat ohjelmoida.
- Ohjelmistotyökalut: Työkalut, kuten OpenOCD, URJTAG, Vivado (Xilinxille) tai Seggerin J-Link-ohjelmisto.
-
Laiteohjelmisto/määritystiedosto: Sirulle kirjoitettava tiedosto (esim.
.bin
,.hex
,.svf
). - Jtag Pinout -dokumentaatio: Pinout -kaavio kohdelaitteelle.
- 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
,TCK
jaTMS
. - 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.
- Asentaa jstk urjtagin verkkosivusto.
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:
Katso havaittujen laitteiden tulostusloki.openocd -f interface/jlink.cfg -f target/stm32f4x.cfg
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
- Varmuuskopioi olemassa oleva laiteohjelmisto: Lue aina ja tallenna olemassa oleva laiteohjelmisto ennen uusien tietojen kirjoittamista.
-
Varmista tietojen eheys: Käyttää
verify
komento onnistuneen ohjelmoinnin varmistamiseksi. - Käytä luotettavia yhteyksiä: Kiinnitä kaikki johdot tietojen korruption estämiseksi kirjoittamisen aikana.
- Vastaa jännitetasoja: Varmista, että JTAG -adapteri ja kohdeasetuslaite käyttävät yhteensopivia jännitetasoja.
- Tarkista kirjoitussuojaus: Poista kirjoitussuojaus käytöstä (tarvittaessa) ennen ohjelmointia.
JTAG -kirjoittamisen sovellukset
- Vilkkuvat laiteohjelmistot tai käynnistyslataimet
- FPGA- tai CPLDS -ohjelmointi
- Sulautetun järjestelmän ohjelmiston päivittäminen
- Konfigurointitietojen kirjoittaminen muistiin
- 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!