🛠 Serveur web sur l'Ethernet du STM32H743ZI : démo LwIP officielle, RMII et errata
Qué vas a construir
El H743ZI incluye un MAC Ethernet IEEE-802.3-2002 con un conector RJ45 integrado — y ST ofrece una demostración lista para usar de la pila TCP/IP LwIP en Projects/NUCLEO-H743ZI/Applications/LwIP dentro de STM32CubeH7, documentada como punto de partida para un servidor web Ethernet. Este tutorial pone en marcha esa demostración como una página de telemetría en vivo, y luego cubre el conocimiento a nivel de pines y de erratas que necesitas cuando las cosas no funcionan correctamente.
Paso 1 — Abre la demostración oficial
git clone --recursive https://github.com/STMicroelectronics/STM32CubeH7.git- Abre
Projects/NUCLEO-H743ZI/Applications/LwIPen STM32CubeIDE; compila y graba mediante el ST-LINK/V2-1 integrado. - Conecta la placa a tu LAN; obtén la IP asignada desde la salida serie de la demostración (puerto COM virtual ST-LINK, 115200).
Paso 2 — Conecta la telemetría
Reemplaza el contenido estático de la página de la demostración con un valor ADC en vivo:
/* In the LwIP HTTP application's SSI handler (CubeH7 demo pattern): */
static int ssi_adc_handler(void *i, const char *tag, char *rs, ushort_t rs_max_len)
{
uint32_t raw;
HAL_ADC_Start(&hadc1); /* 3x 16-bit ADCs, up to 3.6 MSPS */
HAL_ADC_PollForConversion(&hadc1, 10);
raw = HAL_ADC_GetValue(&hadc1);
return snprintf(rs, rs_max_len, "%lu", raw);
}
/* In your page template: <!--#adc_value--> gets replaced on every request. */
Paso 3 — Conoce tu mapa RMII
Las señales RMII están documentadas (documentación de la placa Zephyr) en PA1, PA2, PA7, PB13, PC1, PC4, PC5, PG11, PG13. Si vuelves a cablear algo cerca de esos pines morpho, Ethernet falla primero — revisa este mapa antes de depurar la pila.
Paso 4 — Erratas y casos límite
> NO VERIFICADO: elementos individuales de erratas — la capa de texto del PDF no pudo extraerse con los extractores disponibles durante la investigación.
- ST publica la hoja de erratas ES0392 para STM32H742/H743/H750/H753; el consejo de la hoja de la placa es explícito: léela antes de usar casos límite con DMA/caché o Ethernet.
- La placa también expone 2× CAN FD en los pines PD0/PD1 pero no tiene transceptor externo — si tu proyecto mezcla Ethernet + CAN, el lado CAN necesita una placa transceptora en los conectores ST Zio/morpho.
- No hay radio Wi-Fi/Bluetooth en la placa: Ethernet por cable (más USB OTG FS/HS y 2× CAN FD) es toda la historia de conectividad de esta placa — esa es su filosofía de diseño.
Resultado esperado
El navegador muestra la página de la demostración; el campo <!--#adc_value--> cambia en vivo mientras giras un potenciómetro en A0 — un MCU de 480 MHz actuando como servidor HTTP sin SO más allá de LwIP.
Errores comunes
- Juzgar la pila mientras DHCP no ha asignado dirección: lee la consola serie para la IP asignada antes de culpar a HTTP.
- Tocar los pines RMII con cableado apantallado: PG11/PG13 y similares no son GPIOs libres en esta placa.
- Ignorar la coherencia de caché cuando los buffers alimentados por DMA respaldan los datos web — ve al tutorial avanzado TCM/DMA, y la advertencia de erratas ES0392 anterior.
- Seguir una guía de Mbed OS para esta placa: Mbed fue descontinuado en julio de 2026 (compilaciones en línea deshabilitadas); migra a CubeH7, Zephyr, o la bifurcación comunitaria Mbed CE.
Otros tutoriales para esta placa
- Premiers pas sur le Nucleo-144 STM32H743ZI : core STM32duino, ST-LINK et premier Blink
- GPIO, ADC 16 bits et DAC sur le Nucleo STM32H743ZI : bouton, LED et potentiomètre
- MicroPython sur le Nucleo STM32H743ZI : le REPL 480 MHz via le port série ST-LINK
- Zephyr RTOS sur le Nucleo STM32H743ZI : west build, flash et le piège des 96 MHz
- STM32Cube HAL à 480 MHz sur le STM32H743ZI : VOS0, latence flash et HSE bypass
- FreeRTOS sur le Nucleo STM32H743ZI : le projet officiel CubeH7, tâches et file d'attente