Microcontrôleur STM32 - WebFree

Site de Michel Deloizy
Aller au contenu
Cours > STM32

Microcontrôleurs de type STM32 (STMicroelectronics)
Les microcontrôleurs étudiés font partie de la gamme STM32L4, STM32F4, STM32F7 ou STM32H7.
Ils sont basés sur des processeurs ARM 32 bits à haute performances Cortex M4 ou M7 (Cortex M4 et M7 pour le STM32H7).
Parmi leur principales caractéristiques, on peut citer :
  • Division câblée
  • Accès mots de 8, 16, 32 ou 64 bits
  • Instructions de traitement des champs de bits
  • Instructions MAC rapides et saturation
  • Opérations SIMD (single instruction multiple data)
  • Virgule flottante

La rapidité de traitement de ces microcontrôleurs peut être analysée par l'indice de performances CoreMark représenté dans le tableau ci-dessous (valeurs moyennes) :
Type
Fréquence
CoreMark
STM32L480 MHz270
STM32F4180 MHz600
STM32F7216 MHz1080
STM32H7350 MHz3200
Par comparaison, des microcontrôleurs 16 bits de Microchip ont des CoreMark de 30 pour le PIC24F @16MHz (62.5 ns/instruction) et 92 pour le dsPIC33F @40MHz (25 ns/instruction).

L'environnement de développement proposé par ST s'appelle STM32CubeIDE. Il est gratuit et pleinement fonctionnel. On peut le télécharger ici.
Cet environnement est basé sur Eclipse. Il permet de développer les projets en C ou C++ et contient un configurateur permettant de réaliser l'initialisation des périphériques utilisés en s'appuyant sur des bibliothèques HAL (Hardware Abstraction Layer) ou LL (Low Layer).

La bibliothèque HAL fournit des outils d'accès standards aux périphériques et au paramétrage du microcontrôleur. Elle prend en compte en particulier les environnements multi-taches et les problèmes d'accès multiples à la même ressource.

Pour ce type de matériel, il est fortement recommendé d'utiliser ces couches logicielles : en effet, elles permettent une grande portabilité, car les fonctions contenues sont communes aux différents microcontrôleurs de ST.

D'autre part, étant donné le niveau de performance des processeurs, mais également leur complexité, l'écriture directe dans les registres est bien entendu plus rapide mais surtout beaucoup plus compliquée. De plus, les perfomances de l'application restent très correctes.

Les bibliothèques LL offrent un bon niveau de performances intermédiaire entre les bibliothèques HAL et l'accès direct aux registres, tout en étant portables. On réservera donc leur utilisation quand le critère de rapidité est essentiel.

Retourner au contenu