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
STM32L4
80 MHz
270
STM32F4
180 MHz
600
STM32F7
216 MHz
1080
STM32H7
350 MHz
3200
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.