🛠 Passer au niveau supérieur : STM32CubeIDE, HAL et LL sur F103
Por qué dejar (un poco) Arduino
El core Arduino stm32duino está construido encima de STM32Cube HAL/LL + CMSIS + GNU Arm GCC. Trabajar directamente en la cadena de ST da control sobre el árbol de reloj, el enrutamiento DMA, las interrupciones y el consumo — manteniendo al mismo tiempo la generación gráfica de código de STM32CubeMX y el IDE embebido STM32CubeIDE. Para flashear: STM32CubeProgrammer (CLI STM32_Programmer_CLI o GUI), que se comunica por SWD con el conector de 4 pines de la placa.
Nota de contexto: la antigua Standard Peripheral Library (SPL) de ST está documentada como obsoleta — los tutoriales que aún la utilizan deben considerarse históricos; la SPL ha sido reemplazada por Cube HAL/LL.
Configurar el proyecto Blue Pill en CubeMX
- Elegir la referencia STM32F103C8T6 (LQFP48, 64 KB de flash / 20 KB de SRAM).
- Relojes: el cristal de la placa es un HSE de 8 MHz (más un LSE de 32,768 kHz para la RTC); el PLL lo eleva a 72 MHz, la frecuencia máxima de la línea F103 anunciada en la página de producto de ST.
- Activar la SWD en modo Serial Wire (PA13/PA14) desde el principio, de lo contrario la siguiente depuración terminará en un re-flasheo forzado mediante el bootloader ROM serie.
- El tamaño de página de la flash es de 1 KB (densidades hasta 128 KB) — importante para la simulación de EEPROM y la gestión de escrituras.
Lo que dice el silicio (CMSIS)
El encabezado de dispositivo de ST stm32f103xb.h (repositorio cmsis_device_f1) establece los límites físicos: Cortex-M3 r2p0 mono-núcleo, sin FPU (el M3 no tiene), __MPU_PRESENT 0 (sin MPU), 4 bits de prioridad NVIC. En otras palabras: sin coma flotante por hardware (a emular por software, con coste de CPU), sin aislamiento de memoria, sin motor de cifrado — las ventajas del F103 son el precio y los periféricos (CAN, 3 USART, 2 SPI, 2 I2C, 2 ADC de 12 bits, DMA de 7 canales), no la seguridad.
El buen reflejo documental
El manual de referencia RM0008 (CD00171194 en st.com) es la fuente de verdad para los registros, los modos de arranque y el bootloader ROM; la hoja técnica cd00161566.pdf detalla las características eléctricas. Ambos son PDFs oficiales de ST — en caso de contradicción entre un blog y estos documentos, estos últimos tienen la razón.
Otros tutoriales para esta placa
- Découvrir la Blue Pill : que trouve-t-on dans la boîte ?
- Premier programme Arduino sur la Blue Pill (core officiel stm32duino)
- Alimenter et flasher la Blue Pill : BOOT0, port série, ST-Link et DFU
- Série, ADC et chasse aux contrefaçons : diagnostiquer sa Blue Pill
- Dompter l'USB natif de la Blue Pill : CDC, DFU et la résistance rebelle
- Firmware libre sur Blue Pill avec libopencm3 et OpenOCD