La communauté des développeurs du système d’exploitation temps réel ouvert Zephyr, après la sortie en juillet de cette année d’une version dotée d’un support sur le long terme (LTS, Long Term Support), a annoncé le 16 novembre dernier la mouture 4.0 de cette technologie.(*)
Pour cette version, le stockage et le multimédia ont été particulièrement ciblés. Ainsi, le nouveau sous-système de stockage sécurisé de Zephyr fournit une implantation de l'API (Application Programming Interface) de stockage de l’architecture PSA (Platform Security Architecture) - framework générique qui vise à instiller des principes de protection contre les menaces de sécurité au sein des puces à architecture Arm. Ce qui ouvre la voie à la protection des données de mémoires non volatiles même pour les cibles qui ne fournissent pas déjà une implantation de cette API. Ce sous-système permet, selon les concepteurs de Zephyr, d'avoir à disposition une API commune pour interagir avec un stockage sécurisé, quelle que soit la cible matérielle.
Parallèlement, la version 4.0 de Zephyr a pour ambition de s’adapter aux nouvelles technologies de mémoire non volatile à semi-conducteurs qui arrivent sur le marché des systèmes embarqués, telles que la RRAM (RAM résistive) et la MRAM (RAM magnétique) qui fonctionnent différemment des mémoires flash NOR classique. En particulier, ces mémoires ne nécessitent pas que les pages soient effacées avant de pouvoir écrire de nouvelles données. Pour faire face à ces évolutions, le système de stockage ZMS (Zephyr Memory Storage) est capable de fonctionner avec une grande variété de technologies de stockage non volatiles, notamment justement les RRAM ou MRAM, qui ne nécessitent pas d’effacement avant écriture. Et pour les appareils qui nécessitent un tel effacement, ZMS implante un algorithme dit de “nivellement d’usure” (wear leveling) qui minimise le nombre d’opérations requises par rapport aux alternatives des stockages NVS (Non-Volatile Storage).
Côté multimédia, si Zephyr disposait déjà de capacités dans ce domaine, avec la prise en charge des microphones numériques, de l'I2S (Integrated Interchip Sound, standard d'interface électrique de type bus série pour connecter des matériels audio numériques ensemble) et de l’acquisition vidéo, désormais un nombre nettement plus élevé de matériel est désormais pris en charge. Ainsi, par exemple, l’interface LCD-CAM du microcontrôleur ESP32-S3 d’Espressif ainsi que l’interface MCUX SMARTDMA de NXP sont désormais supportées. Au-delà, de nouveaux pilotes de capteurs d’image, des améliorations apportées à l’allocation de mémoire tampon vidéo, facilitant par exemple la dépendance à la RAM externe et de nouveaux codecs audio pris en charge (comme ceux de Wolfson) apporte à Zephyr de la performance pour les applications multimédia.
Cette mouture de Zephyr intègre aussi désormais de nouvelles classes de pilotes qui facilite le développement des interfaces homme machine. Comme le support des technologies haptiques (retour tactile confirmant une action ou informant d’une alerte) qui nécessite de gérer des moteurs haptiques conçu pour produire des vibrations d'intensité et de fréquence variables.
Enfin, signalons que Zephyr dans sa version 4.0 supporte des comparateurs analogiques ( systèmes notamment utiles pour la surveillance de la tension d’une batterie) et la gestion de moteurs pas à pas (très utilisés sur les marchés de la robotique, des applications médicales, des imprimantes 3D, des machines à commande numériques…) qui nécessitent un contrôle précis d’une position angulaire.
(*) Placé sous l’égide de la fondation Linux, Zephyr est un système d’exploitation temps réel sécurisé et connecté, destiné aux équipements embarqués aux ressources limitées. Actuellement, Zephyr prend en charge plus de 700 cartes bâties sur des microcontrôleurs embarqués à architectures Arm, RISC-V, Tensilica, Nios ARC ou x86 dans des versions monocœurs et multicœurs.