Aller au contenu

STM32F412, STM32Cube et FreeRTOS

Pour les travaux pratiques du cours “Systèmes Embarqués 1”, nous utilisons la cible la cible “Discovery” avec un microcontrôleur “STM32F412ZG”. La figure ci-dessous illustre les composants de ce microcontrôleur :

STM32F412

Au cœur de ce microcontrôleur, nous avons un microprocesseur “ARM Cortex-M4” :

Cortex M4

Vous connaissez déjà cette cible, car vous l’avez utilisé pour les travaux pratiques du cours Architecture des Ordinateurs. La nouveauté c’est que dans le cours “Systèmes Embarqués 1”, nous utilisons le système d’exploitation FreeRTOS en plus de la librairie STM32Cube.

Architecture

La figure ci-dessous illustre les couches d’un système embarqué avec STM32Cube et FreeRTOS.

L’application utilise principalement l’interface HAL (Hardware Abstraction Layer) offerte par STM32Cube ainsi que l’interface offerte par FreeRTOS. L’application peut aussi utiliser les fonctions “bas niveau” (Low Level), mais ça reste occasionnel et on préfère passer par l’interface HAL qui est plus conviviale. On peut aussi directement accéder aux registres du microcontrôleur, mais cette approche est encore plus rare, car elle rend le code très peu portable vers un autre microcontrôleur.