La realidad oculta tras la programación de microcontroladores STM32

Fuentes: When 'Close to the Hardware' Isn't Close Enough
La realidad oculta tras la programación de microcontroladores STM32
Imagen generada con IA

El autor explora la programación a bajo nivel en microcontroladores STM32, comparando el uso de capas de abstracción (HAL) con la escritura directa en registros. Después de años trabajando en software automotriz donde creían estar 'cerca del hardware', se da cuenta de que existen múltiples capas intermedias (MCAL, AUTOSAR OS, RTE) que ocultan la complejidad real. Para demostrarlo, implementa un 'Blinky' (LED parpadeante) primero usando Rust con HAL, y luego en C sin ninguna abstracción, solo con macros que apuntan a direcciones de memoria de los periféricos. El códigosin HAL muestra conceptos fundamentales: memoria mapeada I/O (escribir en direcciones que controlanhardware, no RAM), el cualificador volatile (necesario para que el compilador no optimice los accesos), inicialización de pines GPIO mediante read-modify-write, y la создание de retardos con bucles. También explica cómo el microcontrolador ejecuta main(): al начало, el Cortex-M4 lee la tabla de vectores desde la dirección 0x08000000 para obtener el stack pointer inicial y luego salta alreset handler. Un detalle crítico es que el bit 0 de la dirección de salto debe estar activo (modo Thumb). El artículo concluye que entender estas capas bajas no significa rechazar las abstracciones, sino apreciarlas mejor y saber qué hacen por debajo.