SWD Protocoles pris en charge

Systèmes embarqués

Serial Wire Debug

Qu'est-ce que SWD?

SWD (Serial Wire Debug) est une interface de débogage à deux broches définie par ARM dans le cadre de l’architecture de débogage CoreSight. SWD fournit les mêmes fonctionnalités de débogage que JTAG — accès aux registres, lecture/écriture mémoire, points d’arrêt et trace — en utilisant seulement deux broches : SWDIO (données bidirectionnelles) et SWCLK (horloge). SWD est l’interface de débogage standard pour les processeurs ARM Cortex-M, Cortex-A et Cortex-R, la rendant omniprésente dans les conceptions de microcontrôleurs et de processeurs embarqués. Les ingénieurs analysant le trafic SWD peuvent vérifier que les sondes de débogage communiquent correctement avec la cible, diagnostiquer les échecs de téléchargement de firmware et déboguer les problèmes d’accès matériel de bas niveau qui se manifestent par des erreurs de lecture/écriture SWD ou des réponses WAIT du port d’accès au débogage.

SWD Référence rapide

type Serial, synchronous
signals SWDIO, SWCLK
max Speed Up to 50 MHz
voltage Range 1.8V – 3.3V
features ARM debug interface

Instruments Acute compatibles avec SWD

Solutions recommandées

Recommandé pour le décodage

TB3016F

TB3016F

Avec canaux analogiques

MSO2116E

MSO2116E

Tous les produits compatibles

Prêt à analyser ce protocole ?

Découvrez comment les instruments Acute capturent et décodent ce protocole en temps réel. Demandez une démo ou contactez notre équipe.

Comment analyser SWD avec les instruments Acute

1

Connectez votre analyseur logique Acute aux broches SWDIO et SWCLK sur le connecteur de débogage de la cible (généralement un connecteur Cortex Debug 10 broches).

2

Reliez un fil de masse à la référence de masse de la carte cible.

3

Dans le logiciel Acute, sélectionnez le SWD protocol decoder et assignez SWDIO et SWCLK aux canaux d'entrée correspondants.

4

Configurez le décodeur pour expected clock speed and protocol version.

5

Capturez et visualisez les SWD transactions showing request packets (APnDP, RnW, address), acknowledgment (OK, WAIT, FAULT), and data phases for debug port register access.

Questions fréquemment posées

Quel taux d'échantillonnage est nécessaire pour l'analyse SWD ?
Les vitesses d’horloge SWD varient selon la sonde de débogage — les taux courants sont de 1-10 MHz pour le débogage standard, jusqu’à 50 MHz pour la trace haute vitesse. Échantillonnez à un minimum de 4 fois la fréquence SWCLK. Pour SWD à 10 MHz, utilisez au moins 40 MHz d’échantillonnage. Pour SWD à 50 MHz, échantillonnez à 200 MHz ou plus. Les analyseurs logiques Acute avec une analyse temporelle de 2 GHz gèrent toutes les vitesses SWD.
Pourquoi ma sonde de débogage ne parvient-elle pas a se connecter à la cible via SWD ?
Les échecs de connexion SWD sont couramment causés par un câblage SWDIO/SWCLK incorrect (vérifiez les broches 2 et 4 du connecteur standard Cortex Debug 10 broches), une connexion de masse manquante, un processeur cible dans un état de veille profond qui désactive le port de débogage, ou des configurations de broches conflictuelles (fonction GPIO prenant le dessus sur la fonction SWD sur les broches du processeur). Capturez le bus SWD pour voir si la sonde de débogage envoie la séquence de commutation SWD-vers-JTAG et si la cible répond avec un IDCODE valide.
Combien de canaux sont nécessaires pour l'analyse SWD ?
SWD nécessite 2 canaux : SWDIO et SWCLK. Si vous souhaitez également capturer le signal nRESET (utile pour corréler l’accès au débogage avec les réinitialisations de la cible), ajoutez un 3ème canal. Pour les conceptions qui supportent à la fois SWD et JTAG sur le même connecteur de débogage, vous pouvez vouloir surveiller TDI et TDO également, portant le total à 4-5 canaux.

Protocoles connexes

Besoin d'aide pour choisir le bon instrument pour votre protocole ? Contactez notre équipe d'ingénierie.