A JTAG (közös teszt akciócsoport) egy széles körben alkalmazott protokoll a hibakereséshez, a programozáshoz és az integrált áramkörök (ICS) teszteléséhez. Ez lehetővé teszi, hogy a közvetlen kommunikáció a chipekkel olvassa el a memóriáját, végezzen határolási vizsgálatokat vagy firmware -t töltsön be. Ez az oktatóanyag végigvezeti Önt a JTAG chipek olvasásához való felhasználásának alapjain, beleértve a beállítást, az eszközöket és a bevált gyakorlatokat.
Mi az a JTAG?
A JTAG egy szabványosított felület (IEEE 1149.1), amely lehetőséget kínál a hardver tesztelésére és hibakeresésére a chip szintjén. Általában használják:
- Firmware fejlesztés és hibakeresés
- PCB -csatlakozások tesztelése
- Villogó firmware az eszközökre
- A memória kinyerése az IC -kből
A JTAG 4 vagy 5 tűs felületet használ:
Csap | Leírás |
---|---|
TDI | Az adatok tesztelése |
Tdo | Adatokat tesztel |
TCK | Tesztóra |
TMS | Test mód kiválasztása |
TRST | Teszt alaphelyzetbe állítás (opcionális) |
Mire lesz szüksége
- JTAG adapter: Egy hardver eszköz, amely a chiphez (például Segger J-link, OpenOCD által támogatott adapterek) kapcsolódik.
- Célkészülék: Az IC vagy rendszer, amelyet el szeretne olvasni.
- Szoftver eszközök: A JTAG hibakeresési alkalmazások, például az OpenOCD, az URJTAG vagy a védett eszközök.
- JTAG pinout dokumentáció: Pinout diagram a cél eszközhöz.
- Csatlakozási kiegészítők: Vezetékek, fejlécek és kenyérlemez (ha szükséges).
1. lépés: A JTAG hardver beállítása
1. Határozza meg a JTAG felületet a cél eszközön
- Lásd a JTAG csapok megtalálásához a chip adatlapját vagy a PCB -sémáját.
- A JTAG -csapok általános címkéi között szerepel
TDI
,TDO
,TCK
, ésTMS
. - Egyes táblák JTAG fejléceket jelöltek (például 10 tűs vagy 20 tűs csatlakozók).
2. Csatlakoztassa a JTAG adaptert
- Vezesse be az adaptert a céleszközre, megfelelve a JTAG pinoutnak:
-
TDI
az adapteren csatlakozikTDI
az eszközön, és így tovább. - Győződjön meg arról, hogy a GND csatlakozik -e az adapter és a cél között.
- Adjon meg energiát a cél eszközhöz, ha szükséges.
-
3. Ellenőrizze a feszültségszintet
- Győződjön meg arról, hogy a JTAG adapter támogatja a céleszköz feszültségszintjét (például 3,3 V vagy 1,8 V).
- Egyes adapterek konfigurálható feszültségbeállításokkal rendelkeznek.
2. lépés: JTAG szoftveres eszközök telepítése
1.
Az OpenOCD egy nyílt forráskódú eszköz, amelyet széles körben használnak a JTAG hibakereséshez.
- Telepítse azt a csomagkezelővel (pl.
apt install openocd
a linuxon). - Győződjön meg arról, hogy a JTAG adapterét az OpenOCD támogatja.
2. Urjtag
Könnyű eszköz a határolvasáshoz és az alapvető JTAG műveletekhez.
- Telepítse a VIA -t Urjtag weboldala.
3. eladó-specifikus eszközök
A szabadalmaztatott adapterekhez, mint például a Segger J-link vagy a Xilinx, használja a hivatalos szoftverüket:
- Segger J-link: Töltse le a J-link eszközöket Segger weboldala.
- Xilinx eszközök: Használjon Vivado -t vagy ütést az FPGA hibakereséshez.
3. lépés: Adatok olvasása egy chipből
1. Konfigurálja a JTAG szoftvert
- Hozzon létre vagy töltse be a JTAG adaptert és a céleszközt meghatározó konfigurációs fájlt.
- Példa az OpenOCD -re:
source [find interface/jlink.cfg] transport select jtag source [find target/stm32f4x.cfg] init halt
- Példa az OpenOCD -re:
2. Detektálja a céleszközt
Futtasson egy parancsot a JTAG lánc beolvasására és a csatlakoztatott eszközök azonosításához.
- Az OpenOCD -hez:
Keresse meg az észlelt eszközöket a kimeneti naplóban.openocd -f interface/jlink.cfg -f target/stm32f4x.cfg
3. Memória tartalmát dobja el
A JTAG parancsok segítségével olvassa el a memória régiók olvasását:
- Az OpenOCD -hez:
dump_image memory.bin 0x08000000 0x10000
-
memory.bin
: Fájl a memória dump mentéséhez. -
0x08000000
: Kezdési cím. -
0x10000
: Az olvasandó bájtok száma.
-
4. Végezzen el határolási vizsgálatokat
A határolvadások ellenőrzése Ellenőrizze az IC csapok összekapcsolhatóságát és funkcionalitását.
- Használja az URJTAG -t vagy az OpenOCD -t a határolvasás elvégzéséhez.
- Példa az urjtag -ban:
cable jtagkey detect bsdl path/to/bsdl/file.bsd svf boundary_scan.svf
4. lépés: A JTAG hibakeresési bevált gyakorlatai
- Biztosítsa a kapcsolatot: Használjon rövid, megbízható vezetékeket a zaj minimalizálásához.
- Ellenőrizze a pinout -ot: Ellenőrizze duplán a JTAG PIN-csatlakozásokat, hogy elkerülje az eszköz károsodását.
- Biztonsági mentés firmware: A változtatások elvégzése előtt mindig készítsen biztonsági másolatot az eredeti firmware -hez.
- Használjon helyes szoftvert: Győződjön meg arról, hogy a használt eszköz támogatja a céleszközt.
- Monitor feszültség: Győződjön meg arról, hogy a cél eszköz a megfelelő feszültségszinten működik -e.
JTAG alkalmazásai
- Hibakeresési firmware és szoftver
- Új firmware vagy rendszerindító villogása
- Adatok kinyerése a memóriából az elemzéshez
- A PCB gyártási hibáinak diagnosztizálása
- Fordított mérnöki hardver
Hibaelhárítás
-
Az eszközt nem észlelték:
- Ellenőrizze a vezetékeket és a pinout -ot.
- Győződjön meg arról, hogy a céleszköz be van kapcsolva.
- Ellenőrizze a feszültségszintek kompatibilitását.
-
JTAG hibák:
- Győződjön meg arról, hogy a helyes konfigurációs fájl használható -e.
- Próbálja meg csökkenteni a JTAG órasebességet, ha a kommunikáció meghibásodik.
-
Engedélyezési kérdések:
- A Linuxon győződjön meg arról, hogy rendelkezik -e megfelelő engedélyekkel az USB -eszközökhöz való hozzáféréshez (használja
sudo
vagy konfiguráludev
szabályok).
- A Linuxon győződjön meg arról, hogy rendelkezik -e megfelelő engedélyekkel az USB -eszközökhöz való hozzáféréshez (használja
Következtetés
A JTAG felbecsülhetetlen értékű eszköz az alacsony szintű chipek hibakereséséhez és programozásához. A JTAG hardver és szoftver alapjainak megértésével elolvashatja a chip memóriát, hibakeresheti a firmware -t és elvégezheti a határolatokat. Kísérletezzen különböző eszközökkel és konfigurációkkal, hogy teljes mértékben felhasználhassa a JTAG -t a projektekben!