ac6-training, un département d'Ac6 SAS
FR
FrançaisEnglish
 
go-up

ac6 ac6-training Systèmes d'Exploitation RTOS

RTOS

Real-Time Operating Systems


Un système d'exploitation temps réel ne rend pas une application plus rapide. Il rend son comportement prévisible. C'est une distinction qui décide de l'architecture d'un projet embarqué, et elle est souvent tranchée trop tard.

Sur un microcontrôleur, une boucle principale suffit tant que les traitements restent courts et que les échéances sont larges. Dès qu'une tâche longue côtoie une réaction à tenir en quelques millisecondes, il faut arbitrer. Un RTOS apporte cet arbitrage : ordonnancement préemptif par priorités, primitives de synchronisation, gestion du temps. En contrepartie il introduit ses propres pièges, l'inversion de priorité, les dépassements de pile, les sections critiques trop longues, qui se manifestent rarement en développement et presque toujours en production.

Choisir son noyau

Trois noyaux se partagent l'essentiel de l'embarqué, et ils ne répondent pas à la même question.

FreeRTOS est un noyau. Quelques milliers de lignes, un ordonnanceur, des files, des sémaphores. On l'ajoute à un projet existant sans rien renverser, et l'empreinte mémoire reste de l'ordre de la dizaine de kilo-octets. C'est le choix naturel quand le matériel est maîtrisé et que le besoin se limite au multitâche.

Zephyr est un environnement complet : noyau, pilotes, pile réseau, description matérielle par Devicetree, configuration par Kconfig, gestion multi-dépôts par West. L'apprentissage est plus long, mais le portage d'une carte à une autre cesse d'être un projet en soi. C'est le choix qui s'impose quand le produit doit vivre plusieurs années sur plusieurs cibles.

ThreadX, passé sous licence open source sous le nom Eclipse ThreadX, occupe une position intermédiaire : un noyau compact, certifiable, accompagné de piles réseau et fichiers. On le rencontre surtout là où la certification pèse dans le choix.

Nos formations

Programmation temps réel avec FreeRTOS (RT3), trois jours, part du noyau : ordonnancement, files, sémaphores, mutex, et surtout les erreurs de conception qui produisent des blocages intermittents.

Programmation avec Zephyr RTOS (RT5), cinq jours, couvre l'écosystème entier, du build system et de West à la configuration par Devicetree et Kconfig, jusqu'à l'écriture de pilotes.

West, MCUXpresso SDK et Kconfig (RTW), deux jours, porte sur la gestion de projets multi-dépôts avec West et sur la structure du SDK MCUXpresso de NXP.

STM32 + FreeRTOS + LwIP (STG), cinq jours, traite le cas complet : un STM32, un noyau temps réel et une pile TCP/IP qui doivent cohabiter sans se voler le temps processeur.

Real Time Programming with Eclipse ThreadX (RT6), trois jours, applique les mêmes principes au noyau ThreadX, anciennement Azure RTOS.

L'Internet des objets sur microcontrôleurs (IOT1), trois jours, aborde le cas particulier des dispositifs à très faible consommation, où l'ordonnancement se juge autant en microampères qu'en millisecondes.

Les travaux pratiques occupent une part importante de chaque session. En présentiel ils se déroulent sur cartes réelles. À distance, selon le cours, sur du matériel accessible à distance ou sur les outils de simulation que nous développons, ce qui permet de travailler sur une cible que l'on n'a pas sous la main. Un ordonnanceur ne se comprend qu'en observant ce qu'il fait d'un système chargé.

Cours disponibles

FreeRTOS est un système d'exploitation temps réel (RTOS) léger, conçu pour gérer les tâches dans des applications embarquées. Le cours Real Time Programming with FreeRTOS d'AC6 vous guide à travers la conception et l'implémentation d'applications en temps réel, en mettant l'accent sur des aspects cruciaux tels que task scheduling, synchronization et memory management. Destiné aux développeurs ayant une compréhension de base des systèmes temps réel, ce cours offre une solide fondation en développement avec FreeRTOS, permettant aux participants de concevoir, implémenter et debugger efficacement des applications en temps réel pour des solutions IoT et embarquées modernes.
Cours Zephyr RTOS pour systèmes embarqués : maîtrisez l’écosystème, build system et West, configuration via Device Tree et Kconfig, modules et drivers sur mesure, GPIO, I2C, gestion d’énergie, analyse mémoire, mode utilisateur, threads, synchronisation, mailboxes, Zbus et interruptions.
Ce cours présente l'écosystème IoT, décrit les protocoles IoT les plus utilisés de la périphérie au cloud (MQTT, MQTT-SN et CoAP), explore les attaques particulièrement odieuses axées sur l'IoT et les dispositions de sécurité à chaque niveau de la pile (dispositifs physiques, systèmes de communication et réseaux) Ce cours explique comment configurer le LwIP (avec MQTT), FreeRTOS et MbedTLS pour une application IoT basée sur un microcontrôleur ; il nécessite une connaissance préalable de FreeRTOS.
Comprendre la structure du MCUXpresso SDK (MCUXSDK) Gérer des projets multi-dépôts avec Zephyr West Utiliser Kconfig et prj.conf pour la configuration Construire, flasher et déboguer sur des cibles NXP Créer et intégrer des cartes personnalisées Étendre les projets avec FreeRTOS Intégrer avec VSCode pour le développement et le débogage Réaliser des analyses avancées : sysbuild multicœur, SPDX et empreinte mémoire
This course describes the Texas Instruments ARM Cortex M4F implementation and TI-RTOS real-time programming