Archives de la catégorie ‘Embarqué’

Zephyr OS – 1 – Découverte sur Raspberry Pi Pico

Embarqué, Linux, Microcontrôleur, Raspberry Pi, Zephyr OS | Publié par cpb
Oct 15 2024

Zephyr 0S est un système d’exploitation temps réel que l’on peut utiliser sur de petits microcontrôleurs pour réaliser des tâches relativement simples avec un comportement temporel précis.

Nous allons l’étudier pendant quelques articles en nous appuyant sur des modèles de microcontrôleurs répandus, peu coûteux et faciles à se procurer comme le Raspberry Pi Pico.

Attention : il s’agit bien du « Raspberry Pi Pico » et pas du « Raspberry Pi Pico 2 » sorti il y a quelques semaines. Ce dernier est architecturé autour d’un microcontrôleur différent et n’est pas encore supporté par Zephyr Os au moment de la rédaction de cet article.

Lire la suite de cette entrée »

Les variables principales de Bitbake – 2 – Les variables contextuelles

Embarqué, Linux, Yocto Project | Publié par cpb
Oct 01 2024

Nous avons vu dans l’article précédent qu’il existe de nombreuses variables pour configurer le comportement de Bitbake lors d’un build de Yocto Project. Nous avons examiné précédemment les variables globales, qui sont valables durant tout le build.

Nous allons étudier à présent les principales variables contextuelles (on parle aussi de variables « scopées ») qui ne sont valides que dans certains contextes.

Les contextes qui nous intéresseront ici sont ceux des recettes (.bb) et des amendements de recettes (.bbappend).

Lire la suite de cette entrée »

Les variables principales de Bitbake – 1 – Les variables globales

Embarqué, Linux, Yocto Project | Publié par cpb
Sep 17 2024
Variables de Bitbake

Lorsqu’on effectue un build pour Yocto Project, l’outil bitbake parcourt des fichiers de configuration que nous avons pu examiner dans l’article précédent. Pendant ce parcours, un nombre important de variables sont remplies.

Il est facile de retrouver dans la documentation de Yocto Project la signification d’une variable, mais l’opération inverse n’est pas toujours facile : trouver quelle variable remplir pour répondre à un problème donné.

C’est la question à laquelle j’ai essayé de répondre dans cette série d’articles, en commençant par les variables globales, dont le contenu est disponible durant tout le build. Le prochain article traitera des variables définies dans les contextes de recette.

Lire la suite de cette entrée »

Mise à jour de mon cours « Linux embarqué avec Yocto »

Embarqué, Formations, Linux, Yocto Project | Publié par cpb
Août 20 2024

J’ai mis à jour mon cours en ligne « Linux embarqué avec Yocto » (gratuit, sous licence Creative Commons CC-BY-NC) avec la dernière version long terme de Yocto Project : « Poky Scarthgap »

La première édition de ce cours datait de janvier 2020 (Poky « Zeus » ), la deuxième de 2021 (Poky « Hardknott » ) et la troisième de 2023 (Poky « Kirkstone » ).

Ce cours est destiné aux personnes souhaitant découvrir l’utilisation de Yocto pour produire des systèmes Linux embarqués robustes et fiables.

Le texte est accompagné de beaucoup de manipulations que je vous encourage à refaire vous-même pour bien prendre en main cet environnement de build (la plupart des expérimentations ne nécessite qu’un PC sous Linux).

Le cours est accessible ici : https://www.blaess.fr/christophe/yocto-lab/.

Illustration : Lake District, England (fond de carte OpenStreetMap) les versions récentes de Yocto Project sont nommées à partir de lieux de ce parc national.

Imbriquer des systèmes Linux avec Yocto Cooker

Embarqué, Linux, Yocto Project | Publié par cpb
Fév 03 2022

Cet article décrit un petit projet expérimental sans grande utilité, mais qui a aiguisé ma curiosité pendant quelques temps. Nous allons imbriquer les uns dans les autres des émulateurs de systèmes compilés avec Yocto Project.

Outre le challenge un peu surréaliste que cela représente, nous verrons que cette expérience permet de comprendre certaines dépendances entre packages et d’affiner une recette pour embarquer notre outil Yocto Cooker.

Lire la suite de cette entrée »

Yocto Cooker (3/3)

Embarqué, Linux, Yocto Project | Publié par cpb
Jan 27 2022

Dans les deux premiers articles de cette série, nous avons vu comment écrire un menu assez complet pour Yocto Cooker afin de produire des images pour diverses plateformes.

Pour le moment nous n’avons principalement utilisé que l’action cooker cook. Il est temps de voir les autres possibilités offertes par Yocto Cooker.

Lire la suite de cette entrée »

Yocto Cooker (2/3)

Embarqué, Linux, Yocto Project | Publié par cpb
Jan 20 2022

Dans le premier article de cette série nous avons vu comment utiliser cooker pour produire une image avec Yocto Project en ne renseignant qu’un seul fichier : le menu.

Dans cet article nous allons voir comment compléter ce menu pour produire plusieurs builds en une seule commande, certains d’entre-eux pouvant partager divers éléments de configuration.

Lire la suite de cette entrée »

Yocto Cooker (1/3)

Embarqué, Linux, Yocto Project | Publié par cpb
Jan 13 2022

Cette petite série de trois articles présente un outil (Yocto Cooker) qui permet d’organiser tous les fichiers nécessaires à la compilation d’un système Linux embarqué avec Yocto Project. Cet outil permet également de lancer automatiquement un ou plusieurs builds (compilation d’images complètes prêtes à installer).

Attention: cet article ne présente pas les concepts propres à Yocto Project, on pré-suppose une certaine familiarité avec cet environnement. Pour trouver une introduction à Yocto, et un tutorial complet sur son utilisation, on se reportera à l’article Linux embarqué avec Yocto Project.

Lire la suite de cette entrée »

Live Embedded Event #3

Actualité, Conférences, Embarqué, Linux, Raspberry Pi | Publié par cpb
Jan 06 2022

Depuis un peu plus d’un an, j’ai le plaisir d’organiser régulièrement avec mes confrères de Bootlin, Smile et Theoris les Live Embedded Events.

La troisième édition du Live Embedded Event aura lieu de mercredi 18 mai 2022.

Il s’agit d’une journée de conférences en-ligne, dédiées à l’embarqué (les thèmes abordés sont assez larges).

Les éditions précédentes se sont déroulées en décembre 2020 et juin 2019. Les vidéos des conférences sont disponibles sur You Tube.

Bien entendu, je vous encourage à assister à cette journée de mai 2022, en suivant les conférences (certaines en français, une majorité en anglais) en direct et en posant vos questions aux intervenants par l’intermédiaire du chat.

Je vous encourage également à participer aux conférences en présentant des projets, des technologies, des recherches, ou encore des retours d’expériences dans le domaine de l’embarqué. Le Call For Paper est disponible depuis la page web du Live Embedded Event. Il est ouvert jusqu’à mi-avril, mais n’hésitez pas à nous soumettre vos propositions le plus tôt possible.

Rendez-vous le 15 avril pour l’annonce de la liste des conférences retenues, la publication de l’agenda aura lieu la semaine suivante.

Buildroot 2020.02 et Raspberry Pi 4

Buildroot, Embarqué, Linux, Raspberry Pi | Publié par cpb
Mar 09 2020

Les développeurs de Buildroot ont publié hier une nouvelle mise à jour avec support « long terme ».

Je vous propose dans cet article de l’utiliser pour créer un système complet pour Raspberry Pi 4 intégrant des packages standards, des recettes personnalisées pour intégrer du code métier, une partition spécifique pour sauvegarder les données utilisateur, etc.