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

ac6 ac6-formation Systèmes d'Exploitation

Systèmes d'Exploitation


Android

The Android operating system, developped by Google and based on the Linux kernel, is used more and more frequently not only on smartphones but also for dedicated embedded devices, notably in the "Machine to Machine" market.

ac6-training  proposes trainings on the porting of the operating system on your board and its tailoring to your specific needs, as well as creating embedded applications running on the Android system.


Linux

Les applications industrielles sont de plus en plus souvent réalisées sous une version embarquée de Linux. De plus, l'environnement souvent très spécifique dans lesquelles s'exécutent ces systèmes font qu'il est parfois nécessaire d'adapter l'installation de Linux à l'environnement matériel.

ac6-formation vous propose des formations vous permettant de réaliser des applications sur Linux embarqué, mais aussi d'adapter ce système d'exploitation si le besoin s'en fait sentir.


RTOS

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é.


Zephyr

Qu'est-ce que Zephyr ?

Zephyr est un RTOS open source spécialement conçu pour les systèmes embarqués et l'IoT. S'inspirant des points forts de Linux et adapté aux microcontrôleurs, il permet d'écrire des applications portables sur différentes plateformes de divers vendeurs grâce à son build system, Kconfig et devicetree.

De nombreux drivers intégrés accélèrent le développement en assurant la prise en charge immédiate de divers périphériques. Grâce à Zephyr, les développeurs peuvent se concentrer sur la création d'applications, sans se préoccuper du portage ou de la réécriture du code bas niveau.

Nos formations Zephyr permettent de maîtriser l'écosystème, notamment le device tree, le device driver model et tout ce qui différencie Zephyr des autres systèmes d'exploitation temps réel.


Drivers

Ecriture de drivers pour les OS embarqués et temps réel
L'écriture de drivers (ou pilotes de périphériques) est une activité très importante, et souvent critique, en environnement embarqué.

Nous proposons des cours adaptés aux spécificités du développement de drivers en environnement embarqué, avec des exercices utilisant, chaque fois que nécessaire, des environnement de développement croisés et des cartes cibles industrielles.