๐งชJTAG
Joint Test Action Group
Description
Le JTAG est le nom de la norme IEEE 1149.1 intitulรฉe ยซ Standard Test Access Port and Boundary-Scan Architecture ยป, qui รฉtรฉ normalisรฉe en 1990. Le terme JTAG, dรฉsignant le groupe de travail qui a conรงu la norme, est abusivement utilisรฉ au lieu du terme gรฉnรฉrique Boundary Scan, ou du sigle TAP.
Instructions Boundary Scan
La norme IEEE 1149.1 dรฉfinis des instructions spรฉcifiques pour les boundary scan incluants notamment les instructions:
BYPASS: Permet aux donnรฉes BST de passer de maniรจre synchrone ร travers les appareils cibles vers les appareils adjacents pendant le fonctionnement normal de l'appareil.
SAMPLE/PRELOAD:
Permet ร un modรจle de donnรฉes initial d'รชtre une sortie au niveau des broches de l'appareil.
Vous permet de capturer et d'examiner un snapshot des signaux au niveau des broches de l'appareil si l'appareil fonctionne en mode normal.
EXTEST:
Force le motif de test sur les broches de sortie et capture les rรฉsultats du test sur les broches d'entrรฉe.
Vous permet de tester les circuits externes et les interconnexions au niveau de la carte.
INTEST (Optionnel):
Contrairement ร l'instruction EXTEST, INTEST force le motif de test sur les broches d'entrรฉes et capture les rรฉsultats du test sur les broches de sorties.
IDCODE (Optionnel): Permet d'identifier un systรจme.
Les TAP (Test Access Ports)
TAP peut utiliser cinq signaux dont un optionnel:
TCK (Test Clock Input)
TMS (Test Mode Select)
TDI (Test Data Input)
TDO (Test Data Output)
TRST (Test Reset Input, Optionnel)
Identifier les pins JTAG
Via le JTAGulator
Le JTAGulator est un systรจme crรฉรฉ spรฉcifiquement pour identifier les pins JTAG. l'outil permet de bruteforcer les pins ร l'aide des instructions IDCODE et BYPASS vues prรฉcรฉdemment puis attend les rรฉponses de ces pins pour les afficher dans l'ordre des pins du systรจme cible.
Via l'utilitaire JTAGenum
JTAGenum est un scanner open source (expรฉrimental) Arduino (JTAGenum.ino)
ou RaspbberyPi (JTAGenum.sh)
. Ce code a รฉtรฉ construit avec trois objectifs principaux :
Dรฉterminez quelles sont les lignes JTAG.
รnumรฉrer le registre d'instructions pour trouver des fonctionnalitรฉs non documentรฉes.
รชtre facile ร construire et ร appliquer.
ressource: https://github.com/cyphunk/JTAGenum/
Derniรจre mise ร jour