Concevoir des systèmes embarqués évolutifs avec le RTOS Zephyr et les plateformes de NXP Semiconductors

Par Etiido Uko

Avec la contribution de Rédacteurs nord-américains de DigiKey

Les systèmes embarqués ont toujours impliqué des compromis, les ingénieurs devant choisir entre performances et consommation d'énergie, flexibilité et déterminisme, ou rapidité de mise sur le marché et maintenabilité à long terme. La plupart du temps, ces compromis étaient gérables. Le matériel était limité, les exigences restreintes, et un microcontrôleur se contentait généralement de lire un capteur ou de gérer une interface utilisateur simple, souvent à l'aide d'un micrologiciel sans système d'exploitation écrit directement autour d'une seule boucle de commande.

Ce n'est plus le cas aujourd'hui. Les systèmes embarqués modernes sont conçus pour faire bien plus. Les dispositifs IoT, les contrôleurs d'automatisation industrielle et les nœuds d'edge computing doivent désormais prendre en charge simultanément et de manière fiable la connectivité sans fil, les piles de sécurité, les mises à jour micrologicielles OTA (Over-The-Air) et la communication multiprotocole, souvent sur des microcontrôleurs aux ressources limitées, avec des bilans de puissance et de mémoire restreints. Le développement sans système d'exploitation n'est pas adapté à cet environnement.

Lorsque plusieurs fonctions doivent opérer simultanément, chacune avec des exigences de temporisation et des priorités différentes, une boucle de commande séquentielle devient rapidement difficile à gérer. Les équipes de développement finissent par passer des semaines à écrire des programmateurs personnalisés, à adapter des pilotes et à résoudre des conflits d'intégration de bas niveau, simplement pour que le système fonctionne de manière fiable.

Un système d'exploitation temps réel embarqué résout ce problème en gérant les tâches simultanées, en allouant le temps de processeur et en garantissant que les opérations critiques en matière de temps s'exécutent de manière prévisible. Cependant, la planification des tâches à elle seule ne suffit pas pour les systèmes embarqués modernes. Les concepteurs de systèmes ont besoin de piles réseau, de bibliothèques de sécurité, d'une prise en charge Bluetooth et d'une large compatibilité matérielle, maintenues à jour et prêtes pour la production dans une seule infrastructure. C'est précisément ce qu'offre le RTOS Zephyr.

Une base pour le développement de micrologiciels embarqués

Zephyr est un système d'exploitation temps réel (RTOS) open-source embarqué, hébergé par la Fondation Linux. Il prend en charge des plateformes s'étendant des microcontrôleurs Cortex-M basse consommation aux processeurs de classe périphérie plus performants, permettant ainsi à la même infrastructure logicielle de s'adapter à un large éventail d'applications embarquées.

Le système s'articule autour d'une architecture modulaire, commandée par Kconfig, qui permet aux développeurs de sélectionner uniquement les sous-systèmes dont leur application a besoin, tels que les piles réseau, Bluetooth Low Energy (BLE), la prise en charge des périphériques USB, les bibliothèques cryptographiques, les systèmes de fichiers et les fonctionnalités de gestion de l'alimentation. Tout élément non sélectionné est exclu lors de la compilation, ce qui permet au micrologiciel de s'adapter à l'application plutôt qu'à une empreinte de système d'exploitation fixe. Cette flexibilité est essentielle dans le développement micrologiciel à ressources limitées.

Au niveau du noyau, Zephyr fournit une planification préemptive basée sur les priorités avec une latence d'interruption limitée et une résolution de tick configurable. Ce comportement déterministe en temps réel permet aux opérations critiques en termes de temps, telles que la commande moteur, l'échantillonnage de capteurs, les boucles de commande industrielles et les tâches de communication sans fil, de s'exécuter de manière prévisible même dans des environnements multithread.

Le modèle d'abstraction matérielle expose les périphériques tels que GPIO, SPI, I2C et PWM via des API stables, indépendamment de la puce sous-jacente. En utilisant des BSP (Board Support Package) pour mapper ces interfaces à un matériel spécifique, Zephyr permet aux développeurs d'écrire un micrologiciel portable qui évite les configurations de registres spécifiques à la plateforme, réduisant considérablement les efforts requis pour migrer ou mettre à l'échelle les conceptions de systèmes embarqués.

Au-delà du noyau, Zephyr inclut des sous-systèmes prêts pour la production pour Bluetooth 5.x, IEEE 802.15.4, une pile TCP/IP native, MQTT, CoAP, TLS via Mbed TLS et un démarrage sécurisé via MCUboot. Ces composants sont activement maintenus, testés sur du matériel réel et largement utilisés dans les produits commerciaux, réduisant ainsi le besoin pour les développeurs d'assembler et de valider indépendamment la pile logicielle (Figure 1).

Diagramme de l'architecture du RTOS Zephyr de NXPFigure 1 : Diagramme de l'architecture du RTOS Zephyr, illustrant la pile logicielle complète, depuis la couche plateforme jusqu'à la couche application, en passant par le noyau, les services du système d'exploitation et les services d'application. (Source de l'image : NXP Semiconductors)

Zephyr fournit une base logicielle solide pour le développement embarqué moderne. Cependant, la réalisation de ses pleines capacités dans une conception de production dépend également de l'écosystème du matériel sur lequel il s'exécute. Les BSP, les pilotes de périphériques et l'alignement de la chaîne d'outils d'un fournisseur de puces déterminent tous dans quelle mesure les capacités de Zephyr se traduisent en un micrologiciel fonctionnel. Lorsque ces éléments sont incomplets ou insuffisamment matures, les problèmes d'intégration apparaissent tardivement dans le cycle de développement, là où leur résolution est la plus coûteuse.

L'importance de l'écosystème matériel dans les systèmes embarqués

L'écart entre les capacités du RTOS et la maturité du matériel souligne l'importance technique cruciale de la robustesse de l'écosystème de puces sous-jacent. NXP Semiconductors comble cette lacune grâce à une prise en charge Zephyr de pointe dans l'ensemble de son portefeuille de microcontrôleurs et de processeurs.

En tant que l'un des six membres fondateurs du projet Zephyr, NXP Semiconductors a contribué dès le départ à façonner son architecture et son orientation sous l'égide de la Fondation Linux. Cette implication fondamentale se reflète aujourd'hui dans la profondeur, la cohérence et l'étendue de la prise en charge Zephyr par NXP.

NXP propose actuellement plus de 40 plateformes matérielles avec prise en charge du système d'exploitation Zephyr, couvrant les microcontrôleurs sans fil basse consommation, les processeurs hybrides hautes performances, les points d'extrémité IoT sécurisés et les contrôleurs de qualité automobile avec connectivité CAN FD. Dans tous ces cas, la prise en charge des cartes Zephyr est maintenue et alignée sur les capacités de chaque plateforme, offrant ainsi aux équipes de développement l'accès à une infrastructure logicielle cohérente sur l'ensemble du matériel NXP.

NXP Semiconductors atteint cette compatibilité en contribuant directement aux sous-systèmes principaux du RTOS Zephyr, au développement des pilotes en amont et à l'activation de la plateforme dans le code base principal, et non via des autoclonages spécifiques au fournisseur ou des ensembles de correctifs hors arborescence. Le support matériel de NXP Semiconductors reste à jour à chaque nouvelle version trimestrielle de Zephyr, couvrant les nouvelles fonctionnalités réseau, les améliorations du sous-système de sécurité et les mises à jour du noyau. Par conséquent, les équipes de développement n'ont pas à attendre une mise à jour du SDK d'un fournisseur distinct pour accéder aux nouvelles fonctionnalités de Zephyr, car la prise en charge de ces fonctionnalités est déjà intégrée en amont.

Les outils de NXP complètent cet alignement. L'IDE MCUXpresso, LinkServer et Visual Studio Code avec l'extension MCUXpresso s'intègrent tous au système de compilation basé West de Zephyr, offrant aux équipes de développement un environnement cohérent du début jusqu'à la production. La prise en charge de la sonde de débogage J-Link avec SEGGER Ozone permet un débogage tenant compte des threads directement dans les applications Zephyr. L'entreprise fournit également des guides de démarrage, des guides de laboratoire, des notes d'application et des ressources de formation spécifiquement destinés au développement Zephyr sur son matériel.

Pour les équipes déployant le RTOS Zephyr en production, l'implication de NXP Semiconductors dès le début, son large support matériel, ses contributions actives en amont et ses outils alignés offrent une base matérielle solide et cohérente pour des systèmes embarqués fiables.

Du développement au déploiement : Zephyr et NXP en pratique

L'intérêt pratique de combiner le RTOS Zephyr avec le matériel de NXP Semiconductors est surtout évident lors du développement et de l'implémentation du micrologiciel. Plutôt que d'assembler manuellement de grandes parties de la pile logicielle lors de la construction de systèmes embarqués, les développeurs peuvent commencer à prototyper sur des plateformes d'évaluation NXP prises en charge en utilisant une infrastructure de développement pré‑intégrée alignée sur les flux de travail Zephyr.

Pour la plupart des projets, le point de départ naturel est une plateforme de développement FRDM ou EVK de NXP. Le FRDM-MCXN947 (Figure 2), par exemple, est fourni avec un support BSP Zephyr complet. Les ingénieurs peuvent flasher la carte, exécuter un échantillon fonctionnel et passer directement à l'exploration des périphériques avec une configuration minimale. La configuration des périphériques suit le modèle devicetree de Zephyr, dans lequel les paramètres matériels sont définis de manière déclarative plutôt que via des configurations de registres spécifiques à la plateforme.

Image de la carte d'évaluation FRDM-MCXN947 pour le microcontrôleur Cortex-M33 double cœur MCX N947 de NXPFigure 2 : Carte d'évaluation FRDM-MCXN947 pour le microcontrôleur Cortex‑M33 double cœur MCX N947 de NXP, avec une sonde de débogage MCU‑Link intégrée et un support BSP Zephyr complet. (Source de l'image : NXP Semiconductors)

L'ajout d'un périphérique, tel qu'un capteur SPI ou un émetteur-récepteur CAN, se résume à sélectionner le pilote approprié et à mettre à jour la superposition devicetree plutôt qu'à écrire du code d'initialisation à partir de zéro. La mise en œuvre du réseau et de la sécurité suit le même schéma. La connectivité BLE, le transport chiffré via Mbed TLS et les mises à jour micrologicielles OTA via MCUboot sont tous disponibles en tant que sous-systèmes Zephyr existants, configurés via Kconfig.

L'association du RTOS Zephyr avec le matériel de NXP Semiconductors offre un flux de développement qui permet aux équipes de systèmes embarqués d'obtenir plus rapidement un micrologiciel prêt pour l'application. Cet avantage est particulièrement précieux dans les applications où les délais de développement, la fiabilité et l'évolutivité sont critiques, notamment les suivantes :

  • Automatisation industrielle : les contrôleurs industriels et les passerelles de bus de terrain requièrent une planification déterministe, une prise en charge CAN robuste et des cycles de vie étendus des produits. L'architecture à double cœur du MIMXRT1176CVM8A, avec ses cœurs Cortex‑M7 et Cortex‑M4, permet de gérer les tâches de communication et les boucles de commande en temps réel sur des cœurs distincts, le RTOS planifiant les deux de manière indépendante.
  • Dispositifs IoT basse consommation : ces dispositifs bénéficient directement de la prise en charge modulaire de la mise en réseau et de la gestion de l'alimentation de Zephyr. Le FRDM-MCXW71, la plateforme de développement de NXP Semiconductors pour les nœuds d'extrémité IoT alimentés par batterie, intègre un cœur d'application Cortex‑M33 avec une connectivité sans fil multiprotocole, y compris BLE et Thread. Exécutant le RTOS Zephyr, il peut utiliser le cycle de service de radio et de veille sans tick pour équilibrer la connectivité et la durée de vie de la batterie. La logique de gestion de l'alimentation se trouve dans le RTOS, tandis que l'application gère le comportement des capteurs.
  • Edge computing : le MIMXRT685SFVKB, qui intègre un DSP HiFi4 et une unité de traitement neuronal Ethos‑U55 avec un cœur Cortex‑M33, prend en charge les applications qui combinent l'acquisition de données en temps réel avec l'inférence locale (Figure 3). L'exécution de TensorFlow Lite Micro sur Zephyr pour cette plateforme permet des applications telles que la maintenance prédictive sans décharger le traitement vers le cloud.

Image du microcontrôleur hybride MIMXRT685SFVKB de NXPFigure 3 : Le microcontrôleur hybride MIMXRT685SFVKB combine un cœur Arm Cortex‑M33 et un DSP Cadence Xtensa HiFi4. (Source de l'image : NXP Semiconductors)

Si ces applications comptent parmi les plus courantes, la combinaison du RTOS Zephyr et de l'écosystème de NXP Semiconductors convient bien à toute application embarquée exigeant performances et fiabilité.

Conclusion

Face aux exigences croissantes des systèmes embarqués, les bases logicielles et matérielles sur lesquelles ils reposent deviennent de plus en plus critiques. Le RTOS Zephyr fournit l'infrastructure logicielle modulaire et évolutive indispensable au développement des micrologiciels embarqués modernes. NXP Semiconductors, en tant que membre fondateur du projet Zephyr avec une large prise en charge matérielle, une contribution en amont et des outils adaptés, transforme cette infrastructure en une plateforme déployable et prête pour la production.

DigiKey logo

Avertissement : les opinions, convictions et points de vue exprimés par les divers auteurs et/ou participants au forum sur ce site Web ne reflètent pas nécessairement ceux de DigiKey ni les politiques officielles de la société.

À propos de l'auteur

Image of Etiido Uko

Etiido Uko

Etiido Uko is a mechanical engineer and senior technical writer with over a decade of experience producing authoritative content on engineering, manufacturing, and emerging industrial technologies. His work sits at the intersection of technical depth and clear communication, helping engineers, product developers, and decision-makers understand complex systems and apply them in real-world contexts. His work spans content creation for industry leaders across multiple sectors, including Autodesk, Siemens, Xometry, Telus, and Coca-Cola. Known for his rigorous research standards and attention to technical accuracy, he combines engineering knowledge with strong editorial discipline. Beyond writing, Etiido maintains a strong interest in the evolution of engineering and technology.

À propos de l'éditeur

Rédacteurs nord-américains de DigiKey