À l’heure où résonne l’Internet des Objets, avec un boom du marché depuis quelques années, le développement des systèmes dit “embarqués” est en pleine croissance. Aujourd’hui, ces systèmes sont nombreux à s’appuyer sur Linux, qui propose des fonctionnalités avancées et des capacités accrues. Afin de répondre à une forte demande des industriels en terme de qualité et de fiabilité des logiciels, un nouvel outil a vu le jour il y a quelques années : Yocto.
Qu’est-ce qu’un système embarqué ?
Un système embarqué est généralement articulé autour d’un microcontrôleur ou d’un microprocesseur intégrant de nombreuses fonctionnalités. Il est doté d’interfaces réseau et/ou utilisateur, d’une mémoire de stockage limitée et fonctionne avec ou sans système d’exploitation (OS), grâce à un logiciel qui a été développé spécifiquement pour lui. Un système embarqué est souvent très contraint par des problématiques de temps-réel, de disponibilité, de dimension, de consommation ou encore d’autonomie lorsqu’il fonctionne sur batterie.
Nous pourrions citer de nombreux exemples de systèmes embarqués : capteurs connectés (thermostat d’ambiance, détecteur de fumée…), applications industrielles complexes (calculateurs embarqués dans des trains ou des avions), électroménager ou encore téléphones portables.
Le développement sur systèmes embarqués fait appel à des techniques spécifiques, telles que la compilation croisée ou le débogage distant. Ils ont été largement vulgarisés auprès du grand public par des plateformes, comme Arduino ou Raspberry Pi, qui permettent d’apprendre tout en s’amusant autour de nombreux projets ludiques et fonctionnels.
Qu’est-ce que Yocto et en quoi nous aide-t-il dans l’IoT ?
Le projet Yocto est une palette d’outils permettant de générer une distribution Linux à destination d’un système embarqué. Cette distribution peut être construite grâce à un langage simple et une méthodologie facile à prendre en main. Cela inclut le système d’exploitation, les drivers (réseaux, périphériques spéciaux…) et les applicatifs métier.
Grâce à une large adoption par l’industrie et les fondeurs (Texas Instrument, Intel, NXP…), Yocto est disponible pour de nombreuses cibles (ARM, x86, PowerPC…). Ce projet est soutenu par la Linux Foundation et sa communauté très active permet de bénéficier d’un système complet sans cesse actualisé.
Ses avantages
Une approche classique et laborieuse consisterait à compiler chaque composant logiciel manuellement. L’outil Yocto, lui, permet de réaliser la cross-compilation du système et la génération de son image (bootloader, kernel, systèmes de fichier). La gestion de dépendances et la répétitivité apportées par l’outil garantissent un résultat fonctionnel sur la cible.
L’accompagnement d’Agixis auprès de ses clients
Pour répondre à une demande croissante des industriels sur le marché de l’IoT, AGIXIS a construit un module de formation Yocto destiné à ses clients et aux développeurs C/C++ Linux. lI permet de monter en compétences sur cette nouvelle technologie.
Ce module propose une prise en main progressive de Yocto à travers différents exercices pratiques. Ils abordent les aspects de la programmation sur systèmes embarqués tels que la configuration du noyau, l’intégration de drivers ou la génération des SDKs.
Cette offre s’appuie sur un matériel pédagogique professionnel et qualifié pour l’industrie, composé d’un SOM i.MX6 (NXP) d’une carte de développement, et de différents composants (capteurs et afficheurs) utilisés lors des exercices pratiques.