🛠 Passer au niveau supérieur : STM32CubeIDE, HAL et LL sur F103

STM32F103 "Blue Pill" (STM32F103C8T6) · intermediaire · Quitter l'abstraction Arduino pour la chaîne officielle ST : CubeMX, HAL/LL, CubeProgrammer, et ce que dit vraiment le silicium (ni FPU, ni MPU).

Pourquoi quitter (un peu) Arduino

Le core Arduino stm32duino est lui-même construit par-dessus STM32Cube HAL/LL + CMSIS + GNU Arm GCC. Travailler directement dans la chaîne ST donne la main sur l'arbre d'horloge, le routage DMA, les interruptions et la consommation — tout en gardant la génération de code graphique de STM32CubeMX et l'IDE embarqué STM32CubeIDE. Pour flasher : STM32CubeProgrammer (CLI STM32_Programmer_CLI ou GUI), qui parle SWD au connecteur 4 broches de la carte.

Note de contexte : l'ancienne Standard Peripheral Library (SPL) de ST est documentée comme dépréciée — les tutoriels qui l'utilisent encore sont à considérer comme historiques ; la SPL a été remplacée par le Cube HAL/LL.

Configurer le projet Blue Pill dans CubeMX

  1. Choisir la référence STM32F103C8T6 (LQFP48, 64 Ko flash / 20 Ko SRAM).
  2. Horloges : le quartz de la carte est un HSE 8 MHz (plus un LSE 32,768 kHz pour la RTC) ; le PLL le porte à 72 MHz, la fréquence maximale de la ligne F103 annoncée par la page produit ST.
  3. Activer la SWD en mode Serial Wire (PA13/PA14) dès le départ, sinon le debug suivant se termine en re-flash forcé par le bootloader ROM série.
  4. La taille de page de flash est de 1 Ko (densités jusqu'à 128 Ko) — important pour la simulation d'Eeprom et la gestion des écritures.

Ce que dit le silicium (CMSIS)

L'en-tête de device ST stm32f103xb.h (dépôt cmsis_device_f1) pose les limites physiques : Cortex-M3 r2p0 mono-cœur, pas de FPU (le M3 n'en a pas), __MPU_PRESENT 0 (pas de MPU), 4 bits de priorité NVIC. Autrement dit : pas de virgule flottante matérielle (à émuler en logiciel, coût CPU), pas d'isolation mémoire, pas de moteur de chiffrement — les atouts du F103 sont le prix et les périphériques (CAN, 3 USART, 2 SPI, 2 I2C, 2 ADC 12 bits, DMA 7 canaux), pas la sécurité.

Le bon réflexe documentatif

Le manuel de référence RM0008 (CD00171194 sur st.com) est la source de vérité pour les registres, les modes boot et le bootloader ROM ; la fiche technique cd00161566.pdf détaille les caractéristiques électriques. Les deux sont des PDF officiels ST — en cas de contradiction entre un blog et ces documents, ce sont eux qui gagnent.

Autres tutoriels pour cette carte

Exemples de code pour cette carte

← Retour à la fiche 🛠 Tous les tutoriels