Dans sa version 3.5, l’OS temps réel open source Zephyr s’aligne sur les dernières versions des standards de connectivité

Zephyr 3.5

Developer Advocate du projet open source Zephyr qui, sous l’égide de la fondation Linux, développe et maintient un système d’exploitation temps réel (RTOS) pour équipements embarqués aux ressources limitées, Benjamin Cabé a annoncé le 20 octobre 2023 la disponibilité générale de la version Zephyr 3.5.0. Selon Benjamin Cabé, Zephyr peut être aujourd’hui qualifié de "framework intégré sous stéroïdes" au sens où, au-delà d'un simple noyau, l’environnement se présente désormais comme une suite complète qui permet d'écrire des applications embarquées efficaces, portables et sécurisées, dont un grand nombre peut nécessiter une certaine forme de connectivité.

Dans ce cadre, Zephyr 3.5 se distingue par de nombreuses améliorations apportées à ses différentes options de connectivité afin de les maintenir alignées sur les derniers développements en date des différents standards (Wi-Fi, Bluetooth, etc.), sécurisées et plus faciles à maintenir à l'avenir. Par ailleurs, précise Benjamin Cabé, plusieurs améliorations significatives ont été apportées pour aider les développeurs à créer des applications compactes, modulaires et bien testées.

Ainsi, dans le détail, Zephyr 3.5 dispose maintenant d’une intégration directe avec l’outil d’analyse de code statique gratuit et open source CodeChecker. La nouvelle version dispose par ailleurs de l’une des fonctionnalités les plus demandées au fil des ans avec la possibilité d'étendre dynamiquement une application en cours d’exécution. Le sous-système Linkable Loadable Extensions (LLEXT) fournit ainsi une infrastructure pour charger et appeler dynamiquement des modules au moment de l'exécution. Selon Benjamin Cabé, cette nouveauté ouvre une grande variété de cas d'usage, comme par exemple la possibilité de mettre à jour dynamiquement un programme TinyML (Tiny Machine Learning) au moment de l'exécution.

Par ailleurs, l’environnement Zephyr 3.5 se voit doté d’une nouvelle bibliothèque standard C par défaut, Picolibc en l’occurrence, qui offre des API de bibliothèques C standard et cible spécifiquement des systèmes embarqués aux ressources limitées.

Autre caractéristique notable, un nouveau simulateur natif a été introduit afin de faciliter l'exécution et le test des applications Zephyr sur les ordinateurs Linux, et ce en tant qu’évolution des approches "nativement Posix". L'un des principaux avantages est que, contrairement à ces approches, le nouveau simulateur natif est capable de se connecter à n'importe quelle bibliothèque standard C, ce qui permet de tester une application dans un environnement plus réaliste.

Parmi les fonctionnalités notables de la version Zephyr 3.5, on citera aussi une intégration améliorée avec la bibliothèque open source LVGL (Light and Versatile Embedded Graphics Library) pour faciliter la mise au point d’interfaces utilisateur graphiques convaincantes et efficaces.

Au niveau des options de connectivité, un point fort de l’environnement Zephyr selon Benjamin Cabé, la nouvelle version apporte plusieurs améliorations qui contribuent à pérenniser toutes les piles de connectivité en améliorant leurs performances, leur sécurité et leur maintenabilité. L’un des changements les plus notables est la refonte, attendue depuis longtemps, de la prise en charge des modems radio cellulaires. Avec, en particulier, une amélioration de la modularité des pilotes logiciels des modems et, partant, une amélioration de leur testabilité et de leur intégration avec d'autres sous-systèmes Zephyr.

Parmi les autres améliorations au niveau connectivité, Benjamin Cabé cite notamment la possibilité pour la pile LwM2M de fonctionner en mode tickless, ce qui peut grandement améliorer l'efficacité énergétique, la disponibilité d’un plus grand nombre d’options pour la recherche de points d'accès Wi-Fi (et la prise en charge du mode passif), de nouveaux clients ICMP et DHCPv6, et plusieurs améliorations apportées à Bluetooth Mesh, en particulier autour de la sécurité avec une prise en charge de l’environnement de confiance TF-M (TrustedFirmware-M), des bibliothèques TinyCrypt et de la cryptographie PSA.

Enfin, Zephyr 3.5 a été porté sur plus de 45 nouvelles cartes, et ce sur tout le spectre des architectures prises en charge par l’environnement. Parmi celles-ci, on trouve la Raspberry Pi 4 Model B, la M5 Stack Core2 et la XIAO ESP32S3, auxquelles il faut ajouter de nombreuses autres plates-formes de qualité industrielle proposées par de grands fabricants de semi-conducteurs.