Aller au contenu
AESTECHNO
Brochage

Brochage JTAG et SWD : embases de débogage Arm

Le JTAG utilise quatre signaux obligatoires (TCK, TMS, TDI, TDO) et le SWD, son équivalent Arm à deux fils, n’en utilise que deux (SWCLK, SWDIO), sur les mêmes broches. Trois embases dominent : le JTAG Arm 20 broches au pas de 2,54 mm, le Cortex Debug 10 broches au pas de 1,27 mm et sa version 20 broches avec trace ETM.

Par Hugues Orgitello · Mis à jour le ·

Cortex Debug, 10 broches, pas de 1,27 mm

L’embase la plus courante sur les cartes Cortex-M récentes. Noms SWD puis JTAG quand une broche porte les deux. La broche 7 est retirée pour servir de détrompeur.

Cortex Debug, 10 broches, pas de 1,27 mm. Embase mâle vue de dessus du PCB, broche 1 en carré en bas à gauche. 2 SWDIO 4 SWCLK 6 SWO 8 NC 10 nRESET 1 VTref 3 GND 5 GND 7 9 GNDDetect
Embase mâle vue de dessus du PCB, broche 1 en carré en bas à gauche
Broche Signal Sens Description
1 VTref Tension de référence de la cible, lue par la sonde pour ses niveaux logiques (Alimentation)
2 SWDIO / TMS E/S Données SWD bidirectionnelles, ou sélection de mode JTAG (Signal)
3 GND Masse (Masse)
4 SWCLK / TCK Entrée Horloge de débogage, fournie par la sonde (Signal)
5 GND Masse (Masse)
6 SWO / TDO Sortie Sortie de trace SWO, ou données JTAG sortantes (Signal)
7 KEY Pas de broche (détrompeur) (Non connectée)
8 NC / TDI Entrée Données JTAG entrantes, non utilisée en SWD (Signal)
9 GNDDetect Masse, permet à la cible de détecter la sonde (Masse)
10 nRESET E/S Reset de la cible, actif bas (Signal)

Cortex Debug + ETM, 20 broches, pas de 1,27 mm

Les broches 1 à 10 reprennent l’embase 10 broches ; les broches 11 à 20 ajoutent la trace parallèle ETM sur 4 bits.

Cortex Debug + ETM, 20 broches, pas de 1,27 mm. Embase mâle vue de dessus du PCB, broche 1 en carré en bas à gauche. 2 SWDIO 4 SWCLK 6 SWO 8 NC 10 nRESET 12 TRACECLK 14 TRACEDATA0 16 TRACEDATA1 18 TRACEDATA2 20 TRACEDATA3 1 VTref 3 GND 5 GND 7 9 GNDDetect 11 GND 13 GND 15 GND 17 GND 19 GND
Embase mâle vue de dessus du PCB, broche 1 en carré en bas à gauche
Broche Signal Sens Description
1 VTref Tension de référence de la cible, lue par la sonde pour ses niveaux logiques (Alimentation)
2 SWDIO / TMS E/S Données SWD ou TMS (Signal)
3 GND Masse (Masse)
4 SWCLK / TCK Entrée Horloge de débogage (Signal)
5 GND Masse (Masse)
6 SWO / TDO Sortie Trace SWO ou TDO (Signal)
7 KEY Pas de broche (détrompeur) (Non connectée)
8 NC / TDI Entrée TDI en JTAG (Signal)
9 GNDDetect Masse de détection de sonde (Masse)
10 nRESET E/S Reset de la cible, actif bas (Signal)
11 GND / TgtPwr+Cap Masse, ou alimentation de la cible par la sonde (Masse)
12 TRACECLK Sortie Horloge de trace ETM (Signal)
13 GND / TgtPwr+Cap Masse, ou alimentation de la cible par la sonde (Masse)
14 TRACEDATA0 Sortie Donnée de trace, bit 0 (Signal)
15 GND Masse (Masse)
16 TRACEDATA1 Sortie Donnée de trace, bit 1 (Signal)
17 GND Masse (Masse)
18 TRACEDATA2 Sortie Donnée de trace, bit 2 (Signal)
19 GND Masse (Masse)
20 TRACEDATA3 Sortie Donnée de trace, bit 3 (Signal)

JTAG Arm 20 broches, pas de 2,54 mm

L’embase historique des sondes J-Link, ULINK et de nombreuses cartes d’évaluation. Toutes les broches paires de 4 à 20 sont des masses côté cible. Attention : SEGGER indique que les broches 14 à 20 d’une J-Link sont réservées et ne sont pas forcément reliées à la masse dans la sonde.

JTAG Arm 20 broches, pas de 2,54 mm. Embase mâle vue de dessus du PCB, broche 1 en carré en bas à gauche. 2 Vsupply 4 GND 6 GND 8 GND 10 GND 12 GND 14 GND 16 GND 18 GND 20 GND 1 VTref 3 nTRST 5 TDI 7 TMS 9 TCK 11 RTCK 13 TDO 15 nRESET 17 19
Embase mâle vue de dessus du PCB, broche 1 en carré en bas à gauche
Broche Signal Sens Description
1 VTref Tension de référence de la cible, lue par la sonde pour ses niveaux logiques (Alimentation)
2 Vsupply Alimentation optionnelle selon Arm ; non connectée dans la plupart des sondes (Alimentation)
3 nTRST Entrée Reset de la logique JTAG, actif bas, optionnel (Signal)
4 GND Masse (Masse)
5 TDI Entrée Données JTAG entrantes (Signal)
6 GND Masse (Masse)
7 TMS / SWDIO E/S Sélection de mode JTAG, ou données SWD (Signal)
8 GND Masse (Masse)
9 TCK / SWCLK Entrée Horloge de débogage (Signal)
10 GND Masse (Masse)
11 RTCK Sortie Horloge de retour, pour l’horloge adaptative (Signal)
12 GND Masse (Masse)
13 TDO / SWO Sortie Données JTAG sortantes, ou trace SWO (Signal)
14 GND Masse (Masse)
15 nRESET E/S Reset système de la cible, actif bas (aussi nommé nSRST) (Signal)
16 GND Masse (Masse)
17 NC Non connectée (anciennement DBGRQ) (Non connectée)
18 GND Masse (Masse)
19 NC Non connectée (anciennement DBGACK ; certaines sondes y fournissent 5 V) (Non connectée)
20 GND Masse (Masse)

Tag-Connect TC2030 (SWD), 6 pastilles

Empreinte sans connecteur : le câble à pointes à ressort se pose sur six pastilles du PCB. Affectation du câble TC2030-CTX pour l’embase Cortex 10 broches.

Tag-Connect TC2030 (SWD), 6 pastilles. Empreinte vue de dessus du PCB (couche top) ; les trous de guidage du câble repèrent le sens. 2 SWDIO 4 SWCLK 6 SWO 1 VTref 3 nRESET 5 GND
Empreinte vue de dessus du PCB (couche top) ; les trous de guidage du câble repèrent le sens
Broche Signal Sens Description
1 VTref Tension de référence de la cible, lue par la sonde pour ses niveaux logiques (Alimentation)
2 SWDIO E/S Données SWD (Signal)
3 nRESET E/S Reset de la cible, actif bas (Signal)
4 SWCLK Entrée Horloge SWD (Signal)
5 GND Masse (Masse)
6 SWO Sortie Trace SWO (Signal)
Une interface à concevoir ?

Une carte à rendre débogable et testable en production, puis à verrouiller avant expédition ? Nous concevons le port de débogage, le banc de programmation et la stratégie de protection.

JTAG ou SWD ?

Sur un Cortex-M, le SWD fait tout ce dont le développement a besoin (programmation, points d’arrêt, lecture mémoire) avec deux fils, plus SWO pour la trace printf. Le JTAG reste utile pour chaîner plusieurs composants sur une même interface (FPGA, CPLD, processeur) et pour le test de production par boundary scan (IEEE 1149.1).

Les erreurs de conception les plus fréquentes

VTref non relié. La sonde lit VTref pour régler ses niveaux. Laissé en l’air, la sonde ne détecte pas la cible, ou pilote ses signaux à la mauvaise tension. VTref se relie à l’alimentation des E/S du microcontrôleur, pas à l’entrée de la carte.

nRESET non câblé. Sans lui, la sonde ne peut pas reprendre la main sur un firmware qui désactive les broches SWD ou passe en veille profonde dès le démarrage. Gardez un rappel au niveau haut (souvent 10 kΩ) et un condensateur modeste.

Port de débogage laissé ouvert en production. Un JTAG ou un SWD accessible permet de lire le firmware et les clés. Sur un produit connecté, verrouillez-le (niveaux de protection de lecture, fusibles de débogage) avant expédition : c’est aussi une attente du Cyber Resilience Act.

Questions fréquentes

FAQ

Quelle est la différence entre JTAG et SWD ?
Le JTAG (IEEE 1149.1) est un standard multi-fournisseurs à 4 ou 5 fils qui permet de chaîner plusieurs composants. Le SWD est l’interface de débogage Arm à 2 fils (SWCLK, SWDIO), qui partage les broches TCK et TMS. Sur un Cortex-M, le SWD suffit pour programmer et déboguer.
Comment relier une sonde 20 broches à une embase 10 broches ?
Avec un adaptateur 20 broches 2,54 mm vers 10 broches 1,27 mm, vendu par les fabricants de sondes. Le câblage n’est pas broche à broche : VTref, SWDIO, SWCLK, SWO et nRESET changent de numéro (1, 7, 9, 13 et 15 côté 20 broches ; 1, 2, 4, 6 et 10 côté 10 broches).
À quoi sert la broche VTref ?
Elle donne à la sonde la tension d’E/S de la cible, pour que ses tampons pilotent les signaux au bon niveau (1,8 V, 3,3 V ou 5 V). Elle ne sert pas à alimenter la carte. Sans elle, la plupart des sondes refusent de se connecter.
Faut-il désactiver le JTAG sur un produit en série ?
Sur un produit connecté, oui, ou au minimum le protéger. Un port de débogage ouvert permet d’extraire le firmware et les secrets. Les microcontrôleurs offrent des niveaux de protection en lecture ou des fusibles qui le verrouillent, parfois de façon irréversible.
Sources

Tableaux établis à partir de ces documents et recoupés avec les fiches techniques des fabricants. Vérifiez toujours la fiche technique du connecteur que vous utilisez : certains fabricants numérotent différemment.

Pour aller plus loin

Autres brochages