IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

La Linux Foundation annonce que le Zephyr Project accueille Arduino et Technology Innovation Institute.
Le petit système d'exploitation temps réel pour appareils embarqués passe en version 3.4

Le , par Stéphane le calme

4PARTAGES

8  0 
Le projet Zephyr a annoncé qu'Analog Devices (ADI) l'a rejoint en tant que membre Platinum ainsi qu'Arduino et Technology Innovation Institute (TII) en tant que membres Silver. Zephyr, un projet open source de la Linux Foundation qui construit un RTOS sécurisé, connecté et flexible pour les appareils évolutifs et aux ressources limitées, est facile à déployer et à gérer. Il s'agit d'un écosystème RTOS éprouvé créé par des développeurs pour des développeurs.

Le projet Zephyr est un petit système d’exploitation temps réel pour les appareils connectés, embarqués et à ressources limitées. Il est soutenu par la Linux Foundation, qui a partagé cette semaine une mise à jour sur les progrès et les réalisations du projet.

Le projet Zephyr a récemment franchi plusieurs étapes importantes, notamment le dépassement de 80 000 commits depuis sa sortie en open source en 2015. Cela représente une moyenne de près de 2 commits par heure, réalisés récemment par 490 personnes, dont 166 nouvelles, qui ont contribué à la version 3.4. Zephyr RTOS prend en charge plus de 450 cartes exécutant des microcontrôleurs embarqués de Arm et RISC-V à Tensilica, NIOS, ARC et x86 comme des systèmes monocœurs et multicœurs.

Zephyr RTOS dispose d’un ensemble croissant de bibliothèques logicielles qui peuvent être utilisées dans diverses applications et secteurs industriels tels que l’IdO industriel, les objets connectés, l’apprentissage automatique et plus encore. Il est construit avec un accent sur la prise en charge d’un large éventail de puces, la sécurité, la fiabilité, les versions à long terme et un écosystème open source en pleine croissance.

La communauté Zephyr sera présente au Zephyr Developer Summit, qui se tiendra du 27 au 30 juin à Prague, en République tchèque, et virtuellement dans le cadre du premier Embedded Open Source Summit. Arduino rejoindra le comité technique de direction de Zephyr, ainsi que Technology Innovation Institute et la multinationale américaine des semi-conducteurs Analog Devices (ou ADI), qui rejoindra également son conseil d’administration. Le PDG d’Arduino a déclaré : « Nous pensons que Zephyr OS est un projet vraiment spécial qui jouera un rôle important dans l’écosystème Arduino et qui sera une grande priorité pour nous ». En tant que sponsor de niveau "Platinum", ADI rejoint Antmicro, Baumer, Google, Intel, Meta, Nordic Semiconductor, NXP, Oticon, Qualcomm Innovation Center et T-Mobile.

« La collaboration stratégique du Technology Innovation Institute avec Zephyr RTOS est une avancée significative vers notre mission de développement de systèmes et de réseaux embarqués innovants, sécurisés et résilients », a déclaré le Dr Shreekant (Ticky) Thakkar, directeur de la recherche au Secure Systems Research Center de TII. « Nous relevons des défis tels que les tests de vulnérabilité dans des environnements réels, l'assurance de l'exécution et la satisfaction des exigences en matière d'alimentation et de performances, et nous nous engageons à développer un système basé sur la confiance zéro, sécurisé, résilient et autonome pour les interactions réseau intégrées. En rejoignant le projet Zephyr, nous visons à tisser une couche de sécurité robuste dans des composants logiciels vitaux ».

Le projet Zephyr vise à fournir une solution open source pour les appareils embarqués qui nécessitent une faible latence, une faible consommation d’énergie et une petite empreinte mémoire. Il s’agit d’un projet collaboratif qui encourage la participation de tous les acteurs du domaine des systèmes embarqués.


Quelques produits alimentés par Zephyr incluent :
  • Le Soundshirt de CuteCircuit : un appareil portable qui donne vie à la musique et aux médias d'une manière qui peut être ressentie physiquement, en temps réel et sur le corps dans un langage tactile unique à chaque morceau de musique, cinéma, jeux ou expériences VR. Cela ouvre de nouvelles et diverses façons d'apprécier les médias de toutes sortes. Soundshirt a été nommé l'une des meilleures inventions de Time.
  • Lilbit : l'un des principaux fournisseurs de traceurs pour animaux de compagnie, qui est un appareil léger qui se fixe au collier et se couple avec un smartphone. Lildog et Lilcat vous montrent comment vos chiens et chats se comportent dans leur environnement. Non seulement ils suivent l'emplacement en temps réel, mais ils vérifient également la température, les habitudes de sommeil, le niveau d'activité et les habitudes alimentaires.
  • SODAQ TRACK Solar : un dispositif innovant de suivi des actifs, spécialement conçu pour résister aux environnements industriels exigeants. Cet appareil est conçu pour fournir une large gamme de lectures et de points de données, ce qui vous permet de connecter plus facilement les actifs en ligne et de les gérer efficacement. Avec TRACK Solar, vous contrôlez votre chaîne d'approvisionnement. Ses cas d'utilisation incluent l'équipement de soutien au sol et les dispositifs de charge unitaire.


Disponibilité de la version 3.4

Cette nouvelle version témoigne de l'adoption croissante de Zephyr pour un large éventail d'applications. Plusieurs entreprises utilisent déjà Zephyr pour créer des contrôleurs embarqués - des applications alimentées par des microcontrôleurs qui prennent en charge un ordinateur dans la gestion des tâches système de bas niveau - et certaines des améliorations apportées à la version 3.4 contribuent à rationaliser les efforts dans ce domaine. Par exemple, Zephyr 3.4 ajoute de nouvelles API et implémentations de pilotes pour interagir avec les disques NVMe, les périphériques SMBus et les horloges en temps réel de manière uniforme.

Zephyr 3.4 introduit également plusieurs améliorations à son framework de test intégré (Twister) qui permettent d'écrire des tests plus complets que dans les versions précédentes. Les développeurs peuvent désormais utiliser des frameworks de test tiers populaires tels que pyTest, GoogleTest et RobotFramework pour écrire des tests de bout en bout s'exécutant sur du matériel réel ou émulé, et potentiellement se connecter à des serveurs IdO par exemple.

La prise en charge de plus de 30 nouvelles cartes a été ajoutée, notamment : BeagleBoard Freedom Connect, Arduino GIGA R1 ou Wio Terminal, et des dizaines de nouveaux pilotes ont également été ajoutés, des capteurs environnementaux aux DSP audio et aux périphériques SoC embarqués.


Différences entre Zephyr RTOS et Linux

Zephyr RTOS et Linux sont deux systèmes d’exploitation open source, mais ils ont des différences importantes. Voici quelques-unes des principales différences entre eux:
  • L’origine et la communauté : Zephyr a été créé par la Linux Foundation comme un projet collaboratif impliquant plusieurs acteurs du domaine des systèmes embarqués, tels que Intel, Linaro, Nordic Semiconductor, NXP, etc. Linux a été créé par Linus Torvalds comme un projet personnel et est devenu le système d’exploitation le plus populaire pour les serveurs, les ordinateurs de bureau et les appareils mobiles.
  • Le domaine d’application : Zephyr est conçu pour les appareils connectés, embarqués et à ressources limitées, tels que les capteurs, les actionneurs, les objets connectés, etc. Linux est conçu pour les systèmes plus puissants et polyvalents, tels que les ordinateurs personnels, les serveurs, les smartphones, etc.
  • La compatibilité POSIX : Zephyr offre un support partiel de l’interface de programmation POSIX, qui est un standard pour les systèmes d’exploitation basés sur Unix. Linux offre un support complet de POSIX, ce qui facilite le portage des applications entre différents systèmes d’exploitation.
  • L’ordonnancement : Zephyr utilise un ordonnanceur préemptif basé sur les priorités, qui garantit que la tâche la plus prioritaire prête à s’exécuter obtient le processeur immédiatement et continue à s’exécuter jusqu’à ce qu’elle se suspende ou qu’une tâche plus prioritaire devienne prête. Linux utilise un ordonnanceur à partage de temps équitable basé sur le round-robin, qui partage le temps de manière "juste" entre un certain nombre de processus.
  • L’empreinte mémoire : Zephyr a une petite empreinte mémoire, qui peut être aussi faible que 5 à 10 kB de ROM et 236 B de RAM. Linux a une empreinte mémoire plus importante, qui peut être supérieure à 200 kB de ROM et plusieurs Mo de RAM.

En résumé, Zephyr RTOS et Linux sont adaptés à des besoins différents. Zephyr RTOS est un choix optimal pour les applications temps réel qui nécessitent une faible latence, une faible consommation d’énergie et une petite empreinte mémoire. Linux est un choix optimal pour les applications plus complexes et variées qui nécessitent une grande compatibilité, une grande fonctionnalité et une grande flexibilité.

Source : communiqué de la Linux Foundation

Et vous ?

Avez-vous déjà utilisé Zephyr RTOS ou Linux pour vos projets IoT? Si oui, partagez votre expérience et vos conseils.
Quels sont les critères que vous utilisez pour choisir un système d’exploitation pour vos appareils embarqués? Quels sont les avantages et les inconvénients des différentes options?
Quels sont les défis et les opportunités que vous voyez pour le développement et le déploiement des applications IoT basées sur Zephyr RTOS ou Linux?
Quelles sont les fonctionnalités ou les améliorations que vous aimeriez voir dans Zephyr RTOS ou Linux pour faciliter votre travail ou votre créativité?

Une erreur dans cette actualité ? Signalez-nous-la !

Avatar de emgautier
Candidat au Club https://www.developpez.com
Le 17/09/2023 à 22:26
Le projet zephyr semble un très bon projet pour l'embarqué mais au premier abord c'est une usine à gaz pour quelques dizaines ou centaines de ko de RAM... :
- plus de 100 000 fichiers téléchargés à la première installation ;
- une documentation qui décrit bien comment installer puis compiler des exemples et plus rien pour commencer une application : mkdir my_app et après ?;
- POSIX c'est très bien pour de grosses machines avec un répertoire /dev, est-ce bien utile pour de l'embarqué ? ;
- Si je choisis un microcontrôleur pour ses périphériques ADC (ou autre), est-il pertinent d'avoir une fonction très générale qui correspond à tous les périphériques ou simplement une fonction qui permet de lire une tension ?
- Pour lire une valeur de capteur par bus I2C une fonction i2c_transfert (bufw, nw, bufr, nr, timeout) me convient bien mieux que les fonctions write() et read() de POSIX et pour lire ou écrire un 4ème argument timeout à ces fonction est très pertinent pour le temps réel, de même strnlen() ou snprintf() avec un nombre max de caractères est un bonne protection contre les débordements.

J'ai aussi envisagé NuttX,

J'ai aussi utilisé FreeRTOS, c'est simple, "c'est du brutal" diraient les tontons, Il n'y a que quelques dizaines de fichiers source, mais au moins il y a une doc efficace, il y a peu de questions à se poser et c'est facile à mettre en œuvre, compiler flasher et exécuter.
Par contre il n'y a pas de pilotes de périphériques, pas même moyen d'envoyer un caractère sur une UART. j'ai fait de la programmation bare metal pour utilser l'UART, l'I2c,...

Voilà où en sont mes réflexions. Que choisir ?
1  0