Après avoir parcouru cet article , je me demande quels sont les avantages du débogage SWD par rapport au débogage JTAG?
Je comprends que SWD utilise moins de fils / broches, prend moins de place, etc. Mais comment se comporte-t-il en termes de performances, de fonctionnalités et de coût des dispositifs de programmation / débogage matériels? Le code peut-il toujours être mis en pause / interrompu et inséré dans IDE comme Eclipse?
Une puce ARM peut-elle être programmée à l'aide de l'interface SWD, comme je pense que cela peut être fait avec JTAG?
Réponses:
SWD devrait pouvoir programmer le chipset ARM et vous pouvez déboguer et ajouter des points d'arrêt. L'autre avantage de SWD est que vous pouvez utiliser le visualiseur de fil série pour vos instructions printf à des fins de débogage. Je ne l'ai utilisé qu'avec le compilateur Keil.
la source
Électriquement
Fonctionnellement
Discussion générale
JTAG est plus largement pris en charge, à compter de 2017, par les micros, les programmeurs et les chaînes de production non-ARM. Les programmeurs pour JTAG peuvent être achetés à bas prix sous forme de répartitions FT232H [*] et autres dispositifs de programmation de ce type. Cependant, SWD a un net avantage en termes de vitesse et d’autres domaines de débogage de puces ARM.
En raison de la scission de la nature recherchée de JTAG lors des tests et de SWD pour le débogage, ARM fournit SWJ-DP (port de débogage série fil / jtag) via sa technologie CoreSight qui mappe les broches de SWD sur les lignes d'horloge et de réinitialisation de JTAG. SWJ-DP permet donc d’utiliser les deux protocoles sur la même connexion physique, mais pas nécessairement au même moment ou avec les mêmes programmeurs, car JTAG et SWD devraient être multiplexés dans le temps.
Références utiles
la source
Je serai peut-être un peu trop tard pour OP, mais cela sera peut-être utile pour d'autres personnes qui ont la même question. Donc, c'est parti (expérience personnelle): Il est possible de programmer et de déboguer (récupérer de la mémoire / enregistrer des cartes, interrompre, exécuter à partir d'un point spécifique, etc.) avec SWD. Utiliser Eclipse ici avec GDB via J-Link EDU, pour un montant de ~ 50 euros. Il y a quelques bugs (réinitialiser la cible via le débogueur, parfois ne pas connecter ou récupérer des cartes), mais c'est relativement peu coûteux et utilisable, une fois que vous avez découvert ses bizarreries
la source
Ancienne question, mais aucune des réponses n’aborde la comparaison des performances. Bien que les fonctionnalités définies entre SWD et JTAG (lors de l'utilisation d'un CoreSight DAP) soient assez similaires, les séquences SWD sont environ 10% plus courtes que les séquences JTAG équivalentes.
Il n'y a aucune perte de bande passante de données dans la plupart des cas (en particulier la lecture ou l'écriture en continu où la bande passante est la plus importante).
la source