🛠 Débogage pas à pas : CMSIS-DAP et Arduino Debug Launcher

Arduino UNO R4 WiFi · avance · Schéma : IMG-uno-r4-wifi-avance-2-ur4wifi-debug-cmsis-dap.svg — UNO R4 WiFi avec deux ports USB-C annotés (HIC/débogueur à gauche, USB natif du RA4M1 à droite), écran d'IDE avec point d'arrêt rouge sur une ligne, pile d'appels et variables affichées.

Objectifs

Sortir du Serial.print pour debugger : la R4 est la première UNO avec débogueur matériel embarqué. Le pont USB embarqué (HIC) expose une interface CMSIS-DAP branchée sur le SWD du RA4M1, et l'extension officielle Arduino Debug Launcher (VS Code / PlatformIO ou IDE 2.x) permet points d'arrêt, pas à pas, inspection des variables et de la mémoire — exactement comme sur du STM32.

Matériel

Procédure

  1. Installez l'extension Arduino Debug Launcher et le composant de débogage proposé (OpenOCD/CMSIS-DAP géré par l'extension).
  2. Ouvrez le croquis, placez un point d'arrêt sur une ligne de loop.
  3. Lancez « Start Debugging » : la carte est flashée puis stoppée sur le point d'arrêt.
  4. Explorez : variables locales, globales, pile d'appels, registres du Cortex-M4, mémoire ; avancez avec pas-à-pas (F10/F11).
// Croquis de test : le bug classique du débordement d'index.
int mesures[8];
int n = 0;

void setup { Serial.begin(115200); }

void loop {
  mesures[n] = analogRead(A0);   // point d'arrêt ici : surveillez n
  n++;
  if (n > 8) n = 0;              // bug volontaire : devrait être n >= 8
  delay(200);
}

Vérification attendue

L'exécution se fige sur le point d'arrêt ; la fenêtre Variables montre n croître. En surveillant le tableau, vous voyez l'écriture hors limites quand n == 8 — le genre de bug invisible en Serial.print. Reprenez (F5), modifiez la condition, reflasher, revérifier : c'est la boucle de débogage complète.

Erreurs fréquentes

Autres tutoriels pour cette carte

Exemples de code pour cette carte

← Retour à la fiche 🛠 Tous les tutoriels