Outils pour utilisateurs

Outils du site


nas:dockstar:jtag

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
nas:dockstar:jtag [08 /07/2012 21:49]
psolyca créée
nas:dockstar:jtag [17 /11/2016 15:03] (Version actuelle)
psolyca ↷ Liens modifiés en raison d'un déplacement.
Ligne 1: Ligne 1:
-Mise à jour de buspirate\\  +Liens de référence :\\  
-{{:dockstar:​buspirate.production.zip|}}\\  +http://plume.redox.ws/​article13/​dockstar-debricking-jtag-with-buspirate\\  
-Compilation OpenOCD\\  +http://​www.yourwarrantyisvoid.com/​2010/​09/​08/​dead-dockstar-resurrected-with-jtag/​\\  
-Suivi http://plume.redox.ws/article13/​dockstar-debricking-jtag-with-buspirate\\  +http://dangerousprototypes.com/2011/08/17/​dockstar-debricking-jtag-with-bus-pirate/\\  
-Fichiers de configuration:\\  +http://​dangerousprototypes.com/​docs/​Pirate-Loader_console_upgrade_application_%28Linux,​_Mac,​_Windows%29\\  
-{{:dockstar:dockstar.cfg|}}\\  +http://​dangerousprototypes.com/​docs/​Bus_Pirate#​JTAG_and_OpenOCD\\  
-{{:dockstar:buspirate.cfg|}}\\ +http://​dangerousprototypes.com/​forum/​viewtopic.php?​t=1702\\  
 +http://​www.neufbox4.org/​forum/​viewtopic.php?​pid=23551#​p23551\\  
 +http://​archlinuxarm.org/​forum/​viewtopic.php?​f=18&​t=195&​sid=85b9bed78edf2646339d0e38e0a7e79b\\ 
  
 +Solution ultime en cas de perte du Dockstar lors d'une mauvaise manipulation pendant le flashage.\\ ​
 +Nécessité d'​avoir un câble série **et** un connecteur JTAG (BusPirate v3b).
 +
 +==== BusPirate ====
 +Nécessité d'​avoir le BusPirate avec un firmware 5.8 max., une version spéciale ou le compiler soit même.\\ ​
 +Le support d'​OpenOCD n'est plus pris en compte par défaut dans les versions 5.8+ (après rev524 de binIO.c).\\ ​
 +Utilisation du firmware {{:​dockstar:​buspirate.production.zip|}} en RC6.0\\ ​
 +
 +==== OpenOCD ====
 +OpenOCD doit prendre en compte le support du BusPirate qui n'est pas par défaut.\\ ​
 +Compilation d'​OpenOCD :
 +<​code>​
 +>git clone git://​openocd.git.sourceforge.net/​gitroot/​openocd/​openocd
 +>cd openocd
 +>​./​bootstrap
 +>​./​configure --enable-buspirate --enable-maintainer-mode
 +>make
 +>sudo make install
 +</​code>​
 +Fichiers de configuration modifié à installer dans :
 +  * /​usr/​local/​share/​openocd/​scripts/​board/​ pour {{:​dockstar:​dockstar.cfg|}}
 +  * /​usr/​local/​share/​openocd/​scripts/​interface pour {{:​dockstar:​buspirate.cfg|}}
 +**Dans buspirate.cfg modifier le device en fonction de votre configuration**
 +==== Branchement ====
 +Voir [[nas:​dockstar:​amelioration:​ajout_cable_serie|pour le câble série]]\\ ​
 +Le branchement se fait comme suit pour le BusPirate :
 +^  Seeed Studio et série ​ ^^^^ou^ ​ Sparkfun et série ​ ^^^^
 +|  Couleur ​ |  Pin  |  Pin  |  Couleur ​ |:::|  Couleur ​ |  Pin  |  Pin  |  Couleur ​ |
 +|  /  |  1-NC  |  10-GND ​ |  GND  |:::|  /  |  1-NC  |  10-GND ​ |  GND  |
 +|  Bleu  |  2-Aux  |  9-RxD  |  TxD  |:::|  Vert  |  2-Aux  |  9-RxD  |  TxD  |
 +|  Gris  |  3-TDI  |  8-TxD  |  RxD  |:::|  Orange ​ |  3-TDI  |  8-TxD  |  RxD  |
 +|  Blanc  |  4-TMS  |  7-NC  |  /  |:::|  Rouge  |  4-TMS  |  7-NC  |  /  |
 +|  Violet ​ |  5-TCK  |  6-TDO  |  Noir  |:::|  Jaune  |  5-TCK  |  6-TDO  |  Marron ​ |
 +
 +==== Connexion ====
 +Brancher le Dockstar puis l'​adaptateur série et le BusPirate.\\ ​
 +Démarrer le serveur OpenOCD dans un terminal (A):
 +<​code>​
 +A>cd /​usr/​local/​share//​openocd/​scripts/​
 +A>opencd -f board/​dockstar.cfg
 +</​code>​
 +Démarrer un autre terminal (B) et se connecter au serveur OpenOCD :
 +<​code>​
 +B>telnet localhost 4444
 +</​code>​
 +Démarrer un autre terminal (C) et se connecter par câble série :
 +<​code>​
 +C>​minicom -D /​dev/​ttyUSB0
 +</​code>​
 +Il est nécessaire d'​avoir une image U-Boot valide pour la suite.\\ ​
 +Dans le terminal (B) :
 +<​code>​
 +B>init
 +</​code>​
 +La commande suivante est à taper puis on appuie sur le bouton reset et on valide la commande et simultanément on relâche le bouton reset.\\ ​
 +La commande "​halt"​ attend l'​arrêt du processeur dans les 5 millisecondes.
 +<​code>​
 +B>halt
 +target state: halted
 +target halted in Thumb state due to debug-request,​ current mode: Supervisor
 +cpsr: 0x400000f3 pc: 0xffff0a42
 +MMU: enabled, D-Cache: enabled, I-Cache: enabled
 +B>
 +</​code>​
 +Pour que le reste de la manipulation fonctionne, il faut être arrêté en mode "​ARM"​ et non "​Thumb"​ comme ci-dessus.
 +Il faut recommencer les manipulations précédentes jusqu'​à obtenir ce qui suit :
 +<​code>​
 +B>halt
 +target state: halted
 +target halted in ARM state due to debug-request,​ current mode: Supervisor
 +cpsr: 0x000000d3 pc: 0xffff0000
 +MMU: disabled, D-Cache: disabled, I-Cache: disabled
 +</​code>​
 +Il existe 2 méthodes pour installer l'​image de U-Boot :
 +  * charger l'​image en mémoire puis l'​installer à partir du nouveau U-Boot,
 +  * installer directement l'​image sur la NAND.
 +Pour les commandes, il y a aussi 2 possibilités :
 +  * taper les commandes une à une,
 +  * utiliser des macros inscrites dans le fichier "​dockstar.cfg"​.
 +=== Charger U-Boot en mémoire ===
 +== Commandes successives ==
 +Pour la commande "​load_image",​ il faut indiquer le chemin absolu du fichier soit par exemple "/​home/​moncompte/​Documents/​u-boot.kwb"​.\\ ​
 +La commande "​load_image"​ peut prendre plusieurs minutes à s'​exécuter (ici 9min).
 +<​code>​
 +B>​dockstar_init
 +B>​load_image /​tmp/​uboot.mtd0.kwb 0x800000
 +524288 bytes written at address 0x00800000
 +downloaded 524288 bytes in 593.427490s (0.863 KiB/s)
 +B>resume 0x800200
 +</​code>​
 +Dans le terminal (C), on arrête le processus de redémarrage en tapant sur "​Entrée",​ puis :
 +<​code>​
 +U-Boot 2011.12 (Jul 11 2012 - 19:03:43)
 +Seagate FreeAgent DockStar - SD/MMC
 +
 +SoC:   ​Kirkwood 88F6281_A0 ​                                                            
 +DRAM:  128 MiB                                                                         
 +WARNING: Caches not enabled ​                                                           ​
 +NAND:  256 MiB                                                                         
 +In:    serial ​                                                                         ​
 +Out:   ​serial
 +Err:   ​serial
 +Net:   ​egiga0
 +88E1116 Initialized on egiga0
 +Hit any key to stop autoboot: ​ 0
 +Marvell>>​nand write.e 0x800000 0x0 0x80000
 +Marvell>>​reset
 +</​code>​
 +== Macros ==
 +Modifier dans le fichier "​dockstar.cfg"​ le chemin pour "​load_image"​ pour refléter son emplacement dans la macro "proc dockstar_load_uboot { } {"​\\ ​
 +Puis dans le terminal (B) :
 +<​code>​
 +B>​dockstar_reflash_uboot
 +524288 bytes written at address 0x00800000
 +downloaded 524288 bytes in 593.427490s (0.863 KiB/s)
 +</​code>​
 +Passer sur le terminal (C), arrêter le processus avec la touche "​Entrée",​ puis :
 +<​code>​
 +U-Boot 2011.12 (Jul 11 2012 - 19:03:43)
 +Seagate FreeAgent DockStar - SD/MMC
 +
 +SoC:   ​Kirkwood 88F6281_A0 ​                                                            
 +DRAM:  128 MiB                                                                         
 +WARNING: Caches not enabled ​                                                           ​
 +NAND:  256 MiB                                                                         
 +In:    serial ​                                                                         ​
 +Out:   ​serial
 +Err:   ​serial
 +Net:   ​egiga0
 +88E1116 Initialized on egiga0
 +Hit any key to stop autoboot: ​ 0
 +Marvell>>​nand write.e 0x800000 0x0 0x80000
 +Marvell>>​reset
 +</​code>​
 +=== Installer U-Boot sur NAND ===
 +== Commandes successives ==
 +Pour la commande "nand write",​ il faut indiquer le chemin absolu du fichier soit par exemple "/​home/​moncompte/​Documents/​u-boot.kwb"​.\\ ​
 +La commande "nand write" peut prendre plusieurs minutes à s'​exécuter (ici 9min).
 +<​code>​
 +dockstar_init
 +nand probe 0
 +NAND flash device 'NAND 256MiB 3.3V 8-bit (Micron)'​ found
 +nand erase 0 0x0 0x80000
 +erased blocks 0 to 3 on NAND flash device #0 'NAND 256MiB 3.3V 8-bit'
 +nand write 0 /​tmp/​uboot.mtd0.kwb 0 oob_softecc_kw
 +wrote file /​tmp/​uboot.mtd0.kwb to NAND flash 0 up to offset 0x00080000 in 1222.956299s (0.419 KiB/s)
 +resume
 +</​code>​
 +Sur le terminal (C) :
 +<​code>​
 +U-Boot 2011.12 (Jul 11 2012 - 19:03:43)
 +Seagate FreeAgent DockStar - SD/MMC
 +
 +SoC:   ​Kirkwood 88F6281_A0 ​                                                            
 +DRAM:  128 MiB                                                                         
 +WARNING: Caches not enabled ​                                                           ​
 +NAND:  256 MiB                                                                         
 +In:    serial ​                                                                         ​
 +Out:   ​serial
 +Err:   ​serial
 +Net:   ​egiga0
 +88E1116 Initialized on egiga0
 +Hit any key to stop autoboot: ​ 0
 +Marvell>>​
 +</​code>​
 +== Macros ==
 +Modifier dans le fichier "​dockstar.cfg"​ le chemin pour "nand write" pour refléter son emplacement dans la macro "proc dockstar_reflash_uboot { } {"​\\ ​
 +Puis dans le terminal (B) :
 +<​code>​
 +B>​dockstar_reflash_uboot
 +NAND flash device 'NAND 256MiB 3.3V 8-bit (Micron)'​ found
 +erased blocks 0 to 3 on NAND flash device #0 'NAND 256MiB 3.3V 8-bit'
 +wrote file /​tmp/​uboot.mtd0.kwb to NAND flash 0 up to offset 0x00080000 in 1222.956299s (0.419 KiB/s)
 +</​code>​
 +Sur le terminal (C) :
 +<​code>​
 +U-Boot 2011.12 (Jul 11 2012 - 19:03:43)
 +Seagate FreeAgent DockStar - SD/MMC
 +
 +SoC:   ​Kirkwood 88F6281_A0 ​                                                            
 +DRAM:  128 MiB                                                                         
 +WARNING: Caches not enabled ​                                                           ​
 +NAND:  256 MiB                                                                         
 +In:    serial ​                                                                         ​
 +Out:   ​serial
 +Err:   ​serial
 +Net:   ​egiga0
 +88E1116 Initialized on egiga0
 +Hit any key to stop autoboot: ​ 0
 +Marvell>>​
 +</​code>​
nas/dockstar/jtag.1341776987.txt.gz · Dernière modification: 14 /11/2016 12:57 (modification externe)