sam_
DZSatien V.I.P
- Inscrit
- 12/11/10
- Messages
- 1 144
Ce post pour initier des éventuels travaux sur la nano E0 ou autre et savoir un peu plus comment fonctionnent les déco Canal Ready. A des fins de connaissance et recherches et comme disent nos amis anglophones, "for educational purpose only".
Une des voies d'exploration est d'utiliser un JTAG.
Qu'est-ce que le JTAG ?
Le JTAG c'est un moyen de programmer des composants par les registres internes , tu as 5 signaux:
TDI
TDO
TMS
TCK
RESET
La programmation se fait en série :
TDI est la broche d'entrée des données du composant
TDO la broche des données de sortie
TMS la broche de contrôle
TCK la broche d'horloge cadençant les données
et RESET , l'initialisation du circuit ( indispensable pour programmer en JTAG )
On trouve ces lignes notamment pour toutes les cartes qui nécessitent une programmation , mais dont les CI ne sont pas démontables ( cartes industrielles ) , et ils permettent donc de faire une programmation IN-SITU (sur le circuit même), même si elles ont déjà été programmées ( cas des flashs par exemple ) , et de rentrer du code en mémoire avec tous les autres composants connectés sur les bus etc....
Tous les composants ayant un bus JTAG , possèdent un IDCODE , avec une trame adressée au composant , il est possible de lire ce code identifiant , ce qui permet dans le cas d'une appli industrielle de s'assurer que les composants montés sont les bons , et également dans le cas de composants à programmer , de vérifier la compatibilité de programmation ( timings , séquence d'initialisation , etc ... )
d'où parfois les messages d'erreur du genre "IDCODE MISMATCH" que l'on a parfois lors de la prog de certain micro .
Quels sont les programmes ?
jkeys de d2 est le programme le plus utlisé. Il était également utilisé par nos amis espagnols sur les déco off dsi30 afin de trouver la IRD box key.
Comment construire un câble JTAG (le plus court possible) ?
1. Fiche LPT25 Pin Male header (câble LPT d'ancienne imprimante)
2. 4 résistances de 100 ohms
3. 1 résistance de 33 ohms
4. 6 fils les plus courts possibles
ASSIGNATION DES BROCHES
25 Pin <-------> Récepteur
Pin 2 <-------> Pin 9
Pin 3 <-------> Pin 11
Pin 4 <-------> Pin 13
Pin 5 <-------> Pin 19
Pin 13 <-------> Pin 15
Pin 18 to 25 <-------> Pin 20
Un schéma vaut plus qu'une image
http://img18.imagevenue.com/img.php?image=65529_JTAG_SQC_122_402lo.jpg
http://img12.imagevenue.com/img.php?image=65759_4_122_493lo.jpg
Pour ce qui concerne les déco C-anal Ready, à titre d'exemple, le déco optex SD modèkle ORS9950 dispose d'une flash de type STi5107VBB (exemple Sti5107KYB)
Cette flash semble parfaitement dumpable avec jkeys.
Si vous n'y arrivez pas, il existe des BGA (cf. h-ttp://www.rdi-board.com/threads/37325-TECHNICAL-SECTION-ABOUT-JTAG-FOR-NEWBIES?p=904764&viewfull=1#post904764) mais c plus coûteux que le JTAG du "pauvre" avec câble LPT d'ancienne imprimante.
Une fois le dump (fichier*.bin) obtenu, la suite est entre vos mains. Utilisez IDA Pro avec les bonnes bibliothèques et amusez à décompiler le code obtenu.
++
Une des voies d'exploration est d'utiliser un JTAG.
Qu'est-ce que le JTAG ?
Le JTAG c'est un moyen de programmer des composants par les registres internes , tu as 5 signaux:
TDI
TDO
TMS
TCK
RESET
La programmation se fait en série :
TDI est la broche d'entrée des données du composant
TDO la broche des données de sortie
TMS la broche de contrôle
TCK la broche d'horloge cadençant les données
et RESET , l'initialisation du circuit ( indispensable pour programmer en JTAG )
On trouve ces lignes notamment pour toutes les cartes qui nécessitent une programmation , mais dont les CI ne sont pas démontables ( cartes industrielles ) , et ils permettent donc de faire une programmation IN-SITU (sur le circuit même), même si elles ont déjà été programmées ( cas des flashs par exemple ) , et de rentrer du code en mémoire avec tous les autres composants connectés sur les bus etc....
Tous les composants ayant un bus JTAG , possèdent un IDCODE , avec une trame adressée au composant , il est possible de lire ce code identifiant , ce qui permet dans le cas d'une appli industrielle de s'assurer que les composants montés sont les bons , et également dans le cas de composants à programmer , de vérifier la compatibilité de programmation ( timings , séquence d'initialisation , etc ... )
d'où parfois les messages d'erreur du genre "IDCODE MISMATCH" que l'on a parfois lors de la prog de certain micro .
Quels sont les programmes ?
jkeys de d2 est le programme le plus utlisé. Il était également utilisé par nos amis espagnols sur les déco off dsi30 afin de trouver la IRD box key.
Comment construire un câble JTAG (le plus court possible) ?
1. Fiche LPT25 Pin Male header (câble LPT d'ancienne imprimante)
2. 4 résistances de 100 ohms
3. 1 résistance de 33 ohms
4. 6 fils les plus courts possibles
ASSIGNATION DES BROCHES
25 Pin <-------> Récepteur
Pin 2 <-------> Pin 9
Pin 3 <-------> Pin 11
Pin 4 <-------> Pin 13
Pin 5 <-------> Pin 19
Pin 13 <-------> Pin 15
Pin 18 to 25 <-------> Pin 20
Un schéma vaut plus qu'une image
http://img18.imagevenue.com/img.php?image=65529_JTAG_SQC_122_402lo.jpg
http://img12.imagevenue.com/img.php?image=65759_4_122_493lo.jpg
Pour ce qui concerne les déco C-anal Ready, à titre d'exemple, le déco optex SD modèkle ORS9950 dispose d'une flash de type STi5107VBB (exemple Sti5107KYB)
Cette flash semble parfaitement dumpable avec jkeys.
Si vous n'y arrivez pas, il existe des BGA (cf. h-ttp://www.rdi-board.com/threads/37325-TECHNICAL-SECTION-ABOUT-JTAG-FOR-NEWBIES?p=904764&viewfull=1#post904764) mais c plus coûteux que le JTAG du "pauvre" avec câble LPT d'ancienne imprimante.
Une fois le dump (fichier*.bin) obtenu, la suite est entre vos mains. Utilisez IDA Pro avec les bonnes bibliothèques et amusez à décompiler le code obtenu.
++
Dernière édition: