🛠 Premier sketch sur le cœur M4 : le blink qui se flash par ADB

Arduino Portenta X8 · debutant · Schéma : IMG-portenta-x8-debutant-2-portenta-x8-premier-sketch-m4.svg — Arduino Portenta X8 avec le SoC STM32H747XI zoomé sur son cœur Cortex-M4 240 MHz, flèche de transfert USB-C vers la carte étiquée adb / upload Arduino, LED utilisateur clignotante, fenêtre Arduino IDE montrant le board Portenta X8 sélectionné

Objetivos

Programar el lado Arduino de la X8: es el Cortex-M4 del STM32H747XI (hasta 240 MHz) el que programas desde el IDE de Arduino, mientras que el Cortex-M7 del mismo SoC ejecuta el firmware bridge «normalmente invisible» que expone los periféricos del MCU a Linux. La gran diferencia con una placa clásica: el sketch se sube mediante ADB (upload.tool=adb, VID 0x2341 / PID 0x0061, slot de aplicación 0x08100000–0x08200000), no por serie clásica. Vas a instalar el core, flashear un blink y entender quién hace qué de los tres sistemas embebidos en la placa.

Material

Código completo

// blink_m4.ino — coeur Cortex-M4 du STM32H747XI de la Portenta X8
// Carte : "Arduino Portenta X8" (arduino:mbed_portenta:portenta_x8)
// L'upload passe par ADB, pas par un port serie classique.

#include "SerialRPC.h"   // optionnel : monitor serie proxyfie vers Linux

int compteur = 0;

void setup {
  Serial.begin(115200);      // visible cote Linux via le service m4-proxy
  while (!Serial) {}
  pinMode(LED_BUILTIN, OUTPUT);
  Serial.println("Portenta X8 - sketch M4 en vie");
}

void loop {
  digitalWrite(LED_BUILTIN, HIGH);
  delay(500);
  digitalWrite(LED_BUILTIN, LOW);
  delay(500);
  Serial.print("tick ");
  Serial.println(compteur++);
}

Verificación esperada

En el IDE, la subida muestra una progresión mediante adb y luego el sketch arranca: el LED parpadea a 1 Hz. El Serial de este sketch no es un puerto serie USB clásico — está proxyfiado hacia Linux por el servicio m4-proxy (el tutorial RPC te enseñará a leerlo desde un contenedor). Mantén la placa a la vista: si la subida falla, adb devices debe responder ya antes de tocar el código.

Errores frecuentes

Otros tutoriales para esta placa

Ejemplos de código para esta placa

← Volver a la ficha 🛠 Todos los tutoriales