Logo de la rubrique ATELIER : Prise en main de FreeRTOS, d’un File System FAT et d’une connectivité USB sur MCU ARM Cortex-M

ATELIER : Prise en main de FreeRTOS, d’un File System FAT et d’une connectivité USB sur MCU ARM Cortex-M

Pour connaitre les prochaines sessions de formation sur Logiciel embarque et programmation cliquez ici.




L’utilisation de microcontrôleurs 32 bit ne cesse de croître dans la réalisation d’applications électroniques embarquées. Lorsque des critères tels que la vitesse d’exécution, le besoin de connectivité, une taille mémoire limitée ou encore une consommation optimisée sont déterminants, l’utilisation de ces composants semble particulièrement adaptée. A cela s’ajoute une complexité logicielle croissante (multitâches, tâches prioritaires ou temps réel, utilisation de piles de communication) pouvant nécessiter la mise en place d’un noyau temps réel (RTOS) pour simplifier l’architecture logicielle. Tout cela implique de nombreux changements de méthodologie qu’il vaut mieux connaitre avant de se lancer.
Cet atelier vise à accélérer la prise en main de ces nouveaux concepts de programmation liés à l’utilisation d’un RTOS comme FreeRTOS et prévoit la mise en place concrète d’un gestionnaire de fichier FAT et d’un pile de protocole USB.

Programme

Jours 1 et 2 :

1) Bases théoriques sur RTOS
Notions de base sur les OS
Le temps réel
Les tâches et leurs états
Gestion du temps dans l’OS
Le Scheduler et les différents algorithmes
La communication entre les tâches

2) Aperçu des APIs d’un RTOS
Exemple : FreeRTOS

3) Travaux pratiques sur les APIs
Les exercices sont réalisés sur des cartes d’évaluation à base de composant STM32 à cœur
ARM Cortex-M4
a. Mise en place de l’OS & création de tâches
- Contrôle des tâches & Aperçu des outils Percepio pour FreeRTOS
- Comparaison des algorithmes Round Robin, Préemptif, Coopératif
b. Les événements
- Déclencher une tâche avec des événements
c. Les Mutex
- Leurs utilités, protection par Mutex
d. Les sémaphores
- Gestion d’une file d’attente par sémaphores
- Synchronisation de plusieurs tâches
e. Les boites aux lettres
- Gestion d’une pile de messages d’erreurs
f. Gestion mémoire et boite aux lettres
- Echange de données entre tâches asynchrones

4) Etude de cas RTOS
- Portage d’une application conçue initialement sans RTOS
- Discussion sur la mise en place des différentes APIs de l’OS

Jour 3 :

Prise en Main de FatFs
Les travaux pratiques sont réalisés autour d’un gestionnaire de fichiers embarqué open source (FatFs) sur carte à base de composant STM32 à cœur ARM Cortex-M4

1) Bases théoriques
Aperçu sur le system FAT 12/16/32
Les API de FatFs
Aperçu sur les drivers et exemple sur un driver de carte SD
Mise en place de FatFs et interaction avec les RTOS
Configuration de FatFs

2) Travaux pratiques
Exercice : Lecture, écriture sur une carte SD
Mise en place d’un système de fichier FatFs
Exercice : Utilisation du système de fichier FatFs (création, lecture/écriture de fichier)
Utilisation du system de fichier avec un interpréteur de commandes

Prise en Main de l’USB
Les travaux pratiques sont réalisés autour de la pile de communication USB fournie par STMicroelectronics pour les composants STM32. La carte d’évaluation utilisée est à base de composant STM32 à cœur ARM Cortex-M4.

1) Bases théoriques
Aperçu sur le system USB device/host
Les descripteurs, les class, les protocoles.
Enumération, système de transfert
Report HID
Les API des différentes class
Mise en place et configuration d’un programme

2) Travaux pratiques
Selon le temps restant, 1 ou 2 exercices dans la liste suivante :
Étude d’un système descripteur HID
Simulation d’un joystick sur PC (class HID device)
Lecture sur SD carte à partir d’un PC (class MSC device)
Lecture du contenu d’une clé USB (class MSC host)
Etude d’un système de report HID avec un cas custom. Communication d’une carte avec un PC : commutation des LEDs sur la carte, relecture ADC de la carte

Les inscriptions sont closes. Pour connaitre les prochaines sessions de formation en Logiciel embarque et programmation cliquez ici.