🛠 MicroPython sur le Nucleo STM32H743ZI : le REPL 480 MHz via le port série ST-LINK

STM32H7 Nucleo-144 (modèle phare : NUCLEO-H743ZI) · debutant · Schéma : IMG-stm32h7-nucleo-debutant-3-stm32h743zi-micropython-repl.svg — Nucleo-144 STM32H743ZI reliée en USB à un ordinateur portable, fenêtre de REPL MicroPython affichant « >>> », LED verte de la carte allumée, câble USB unique vers le connecteur ST-LINK, flat vector style, étiquettes en français, fond blanc.

Qué vas a construir

Ejecuta MicroPython de forma interactiva en la STM32H743ZI — existe un port oficial en el repositorio upstream de MicroPython bajo ports/stm32/boards/NUCLEO_H743ZI (también existe un directorio de port NUCLEO_H743ZI2). Obtienes un prompt de Python 3 a 480 MHz a través del puerto COM virtual del ST-LINK: perfecto para experimentos rápidos con sensores antes de comprometerse con C.

Hardware

Paso 1 — Obtener el firmware

El port oficial se encuentra en github.com/micropython/micropython/tree/master/ports/stm32/boards/NUCLEO_H743ZI. Compílalo desde las fuentes de MicroPython (make en ports/stm32 con la placa configurada como NUCLEO_H743ZI), luego grábalo a través del ST-LINK/V2-1 integrado — la misma ruta de programador utilizada por STM32CubeProgrammer y OpenOCD, sin necesidad de una sonda externa.

Paso 2 — Abrir el REPL

  1. Conecta el conector USB del ST-LINK de la placa; aparece un puerto COM virtual (el mismo VCP utilizado como consola a 115200 8N1 en el mapeo de Zephyr).
  2. Ábrelo a 115200 baudios y pulsa Ctrl-C — el prompt >>> responde.

Paso 3 — Primeros comandos

>>> import machine, time
>>> led = machine.Pin("LED_GREEN", machine.Pin.OUT)  # board-name alias per the
...                                                  # MicroPython board definition
>>> while True:
...     led.value(not led.value)
...     time.sleep_ms(250)
...

> NO VERIFICADO: la cadena exacta del alias de placa de MicroPython "LED_GREEN" y el UART del REPL por defecto — el archivo mpconfigboard.h del directorio del port no se obtuvo durante la investigación. Consulta la definición de la placa en el port para ver los nombres de pines que exporta.

Prueba también la parte analógica — el H743 tiene 3 ADCs (16 bits) y 2 DACs:

>>> from machine import ADC, Pin
>>> a = ADC(Pin('A0'))          # the STM32 silicon offers 36 ADC channels
>>> a.read_u16                # 16-bit-ish sampling on the 480 MHz M7

Paso 4 — Hacerlo permanente

Coloca un archivo main.py en el sistema de archivos (el port incluye un sistema de archivos flash) y tu script se ejecutará en cada arranque — el flujo de trabajo clásico de sistemas embebidos: prototipa en el REPL, congela en main.py, y más tarde migra a C si necesitas el último microsegundo.

Resultado esperado

El LED verde parpadea a 2 Hz desde el bucle del REPL; Ctrl-C te devuelve a >>>. Todo se ejecuta en el Cortex-M7 a hasta 480 MHz con su FPU de doble precisión — el código de MicroPython intensivo en operaciones con punto flotante es inusualmente rápido en este port.

Problemas comunes

Otros tutoriales para esta placa

Ejemplos de código para esta placa

← Volver a la ficha 🛠 Todos los tutoriales