Existe-t-il une interface JTAG / BDM utilisable disponible sur le Raspberry Pi?
Quel débogueur matériel est nécessaire pour le débogage?
Peut ouvrir TOC utiliser?
Existe-t-il une interface JTAG / BDM utilisable disponible sur le Raspberry Pi?
Quel débogueur matériel est nécessaire pour le débogage?
Peut ouvrir TOC utiliser?
Réponses:
La révision 2.0 du modèle B Raspberry Pi a dévoilé les broches JTAG.
Vous pouvez trouver beaucoup d'informations ici . Malheureusement, l'utilisation de JTAG sur RPi n'est pas simple. Pour être honnête, juste parce que c'est tellement problématique, je n'ai pas pris la peine de le faire fonctionner. Voici ce que je sais cependant:
Tous les signaux JTAG ne sont pas facilement disponibles. Tous mais tous sont sur le connecteur GPIO (pas sur le connecteur P2 JTAG - c'est un VideoCore JTAG, pas ARM et AFAIK ce n'est pas utilisable pour les personnes en dehors de Broadcom). La broche supplémentaire se trouve sur le connecteur S5 (en-tête CSI), vous devrez probablement le souder. Voici les broches qui sont nécessaires (plus à ce sujet sur le site dwelch67, vous pouvez également trouver des informations sur les fonctions de broches alternatives GPIO sur le wiki de raspberrypi ):
ARM_VREF P1-1
ARM_TRST P1-15
ARM_TDO P1-18
ARM_TCK P1-22
ARM_TDI P1-7
ARM_TMS S5-11
ARM_GND P1-25
EDIT: Comme l' a souligné @Damian , lors de la révision 2.0 du PCB, le signal ARM_TMS manquant était connecté à la broche 13 sur P1, la soudure ne devrait donc plus être nécessaire.
Maintenant, ce n'est pas le seul problème. Par défaut, toutes ces broches sont configurées pour être des broches GPIO et non des broches JTAG. Ils doivent être reconfigurés dans le logiciel et AFAIK il n'y a pas de support pour cela dans le chargeur de démarrage Foundation. Dwelch67 a écrit son propre chargeur de démarrage (chargeur de démarrage de la prochaine étape) qui fait exactement cela. Vous pouvez le télécharger à partir du lien fourni en haut de cette réponse.
En ce qui concerne le matériel, tout matériel ARM11 JTAG doit être OK. Comme mentionné précédemment, je n'en ai personnellement testé aucun, donc je ne peux faire aucune recommandation. Et oui, OpenOCD peut être utilisé. Il existe même un petit projet (également réalisé par dwelch67) pour construire du matériel JTAG très simple et bon marché basé sur une carte bon marché comme Launchpad . Voir son repo github
Vous pouvez également essayer ce convertisseur SN74LVC8T245 de TI http://www.ti.com/product/sn74lvc8t245