Support du séminaire «Linux embarqué» à Montpellier le 17 mars 2011

Support séminaire Captronic
Support séminaire Captronic

Comme nous l’avions annoncé dans un précédent billet, Thomas Petazzoni, ingénieur Linux embarqué à Bootlin, a animé le jeudi 17 mars 2011 à Montpellier un séminaire d’introduction à Linux embarqué.

Environ 55 personnes de différentes PME de la région étaient présentes, ainsi que quelques personnes venues par l’intermédiaire de la dépêche publiée sur LinuxFr.org, et enfin quelques étudiants en informatique du CFAI dans lequel se déroulait le séminaire. Le sujet de Linux embarqué semble avoir donc intéressé un public important, dont seulement un quart avait déjà utilisé Linux dans des produits embarqués et seulement un tiers utilisait Linux tout simplement, d’après un sondage rapide réalisé en début de séminaire.

Le séminaire a été animé grâce au support que nous publions à cette adresse, et également au travers de démonstrations réalisées sur la carte d’évaluation AT91SAM9M10G45EK équipée du processeur ARM Atmel AT91SAM9M10.

Ce séminaire sera à nouveau proposé en partenariat avec Captronic au mois de juin dans les villes de Clermont-Ferrand et Limoges, à des dates que nous préciserons dans de futurs billets.

Enfin, à l’occasion de cette venue de Thomas Petazzoni à Montpellier, une interview a également été accordée à la radio Divergence FM et diffusée le soir même dans l’émission Divergence Numérique.

Premier numéro d’Open Silicium

Open Silicium numéro 1

Dans un de nos précédents articles, nous annoncions le sympathique cadeau que les Éditions Diamond (connues pour Linux Magazine France et Linux Pratique) allait faire à la communauté open-source de l’embarqué pour Noël, à savoir la parution du premier numéro d’Open Silicium.

Le sommaire de ce premier numéro est plutôt alléchant et s’ouvre à des sujets bien plus vastes que la seule utilisation de Linux dans l’embarqué. Ainsi, nous retrouvons des articles sur les sujets suivants :

  • Quelques brèves: sur la carte Teensy 2.0, sur les parts de marché des différentes versions d’Android, sur la nouvelle carte FriendlyArm 6410 (une carte sympathique et pas chère) et sur un nouveau bootloader pour plateforme Atmel AVR Xmega
  • Simulation de circuits électroniques et au-delà, par J.M Friedt est une introduction au célèbre logiciel SPICE de simulation électronique. Un long article qui commence par expliquer les bases de SPICE (qui permet de simuler le comportement d’un circuit électronique analogique), puis se poursuit par des exemples plus concrets d’utilisation de SPICE, dans le domaine des filtres, des oscillateurs et même la thermique et la mécanique. Comme d’habitude dans les articles de J.M Friedt, un article qui fait appel à pas mal de connaissances scientifiques.
  • Introduction au développement Android, avec en sous-titre: À l’attention de ceux qui n’aiment pas Éclipse, un article de Denis Bodor, qui reprend les bases du développement d’applications sur la plateforme Android: la création d’un projet, le simple HelloWorld, le mécanisme des ressources, intégrer une icône, définir les permissions nécessaires pour exécuter l’application, packager l’application, etc. Un bon article pour se lancer avant d’aborder les documents de référence de développement Android
  • Mise au point à distance avec GDB et Qemu par Pierre Ficheux. Dans cet article, Pierre revient sur l’utilisation de gdbserver pour le débogage croisé d’applications utilisateur, puis l’utilisation de Qemu pour faire tourner Linux ou U-Boot et les débugger grâce au stub GDB intégré à Qemu (pour Linux, le cas intéressant du débogage d’un module noyau est traité), puis l’utilisation de kgdb est également détaillée.
  • Platforme FriendlyARM 2440, par Denis Bodor. Après une présentation du matériel, Denis revient pas à pas sur la mise en place d’un système: chaîne de compilation croisée (avec des paquets Debian), mise en place et interaction avec le bootloader (avec un bon rappel sur la gestion des blocs défectueux), configuration et compilation du noyau Linux, création d’un système de fichiers racine avec debootstrap et Emdebian, mise en place du montage du système de fichiers racine par NFS, puis depuis la NAND. Un bon article sur la mise en place d’un système Linux embarqué sur une carte de développement.
  • Emportez votre hub Ethernet en voyage où Yann Guidon décrit un hack consistant à remplacer l’alimentation d’un petit hub Ethernet par une alimentation sur USB, afin de s’acquitter du transport du transformateur. Un article fortement orientée sur l’alimentation et l’électronique analogique, qui manque à mon goût d’explications pour que l’informaticien que je suis y comprenne quelque chose.
  • Diffusez vidéos et musique sur le réseau, qui présente le serveur UPnP MiniDLNA en une page. Ce type d’article est vraiment appréciable: au lieu de recopier inutilement la documentation, il résume en une page le besoin auquel répond le projet, présente rapidement le projet et rapidement sa mise en œuvre dans une configuration basique.
  • Implémentation de systèmes critiques dirigée par les modèles, par Julien Delange et Maxime Perrotin. Dans cet article, les auteurs décrivent comment ils ont conçu et réaliser un système embarqué sur base Arduino pour un robot, à partir de techniques d’ingénérie dirigée par les modèles. Ils ont utilisé différents outils du projet TASTE, un ensemble d’outils développés par l’ESA pour implémenter le processus de développement ASSERT. À noter que certains outils de TASTE ne sont pas des logiciels libres (ils ne peuvent être utilisés gratuitement que pour des usages non-commerciaux).
  • Implémentation efficace d’algorithmes sur FPGA par Sébastien Bourdeaducq, également connu pour être le principal développeur de Milkymist, un SoC libre sur FPGA. Dans cet article, Sébastien prend l’exemple d’un algorithme de multiplication de nombres complexes pour illustrer comment utiliser au mieux les possibilités d’un FPGA et montrer qu’un code VHDL ou Verilog naïf peut avoir des performances beaucoup grandes qu’un code bien réfléchi.
  • Conception et applications des LFSR en VHDL, par Yann Guidon, dans lequel l’auteur décrit l’implémentation en VHDL d’un générateur de bits pseudo-aléatoire basé sur des registres à décalage à rétroaction linéaire.
  • Exploration du Netgear ReadyNAS Duo, par Denis Bodor. Cet article décrypte le fonctionnement de ce système embarqué grand public, en particulier le sous-système de stockage.

Nouvelles sessions inter-entreprises à Toulouse courant 2011

Salle de formationNous venons d’ajouter de nouvelles dates pour les prochaines sessions inter-entreprises à Toulouse de nos formations :

  • Une session de notre formation Développement de systèmes Linux embarqué aura lieu du 6 au 10 juin 2011 à l’Hôtel Pullman à Toulouse. Cette formation est conçue pour les ingénieurs qui souhaitent utiliser le système Linux dans de nouveaux projets embarqués. En cinq jours, au travers de cours théoriques et de travaux pratiques, elle vous familiarise avec l’architecture d’un système embarqué sous Linux, la construction d’un tel système, la façon de tirer parti de composants open­ source pour accélérer l’ajout de fonctionnalités à votre système et réduire les coûts de développement, puis détaille comment développer et mettre au point vos applications dans le système embarqué. Retrouvez le programme détaillé ainsi que les supports de cours.
  • Une session de notre formation Développement noyau Linux et pilotes de périphériques aura lieu du 5 au 10 décembre 2011 à l’Hôtel Pullman à Toulouse. Cette formation est conçue pour les ingénieurs qui souhaitent développer ou améliorer des pilotes de périphériques dans le noyau Linux, pour des projets sur plateforme embarqué ou sur plateforme PC traditionnelle. En cinq jours, au travers de cours théoriques et de travaux pratiques, la formation introduit les bases essentielles du développement noyau : architecture du noyau, les principales APIs, intégration du pilote de périphérique avec le reste du noyau et avec les applications. Retrouvez le programme détaillé et les supports de cours.

Ces deux sessions seront animées en français par Thomas Petazzoni. Elles sont disponibles au tarif de 1990 € HT par personne, tarif qui comporte la carte électronique utilisée pour les TPs (que chaque participant conserve à l’issue de la formation) ainsi que les repas du midi. À noter qu’une réduction de 300 euros est offerte aux personnes s’inscrivant au moins 2 mois avant le début de la formation, pour les personnes venant de la même société ou pour les personnes en recherche d’emploi. Pour les PMEs, un co-financement est également possible par l’intermédiaire du programme Captronic.

Séminaire « Introduction à Linux embarqué » le jeudi 17 mars à Montpellier

Le jeudi 17 mars, Thomas Petazzoni de l’équipe de Bootlin, animera un séminaire « Introduction à Linux embarqué » de 14h à 18h à Montpellier. Ce séminaire organisé par Captronic est gratuit, sur inscription avant le 15 mars auprès de rebejac@captronic.fr.

Depuis une dizaine d’années maintenant, le système d’exploitation Linux et les logiciels open-source offrent de nouvelles possibilités pour le développement des systèmes embarqués. Avec un faible coût, un code source disponible et modifiable, des offres de support commercial ou communautaire, des possibilités de réutilisation importantes permettant de se focaliser sur la valeur ajoutée de son système embarqué, la solution Linux embarquée a de nombreux atouts en comparaison de systèmes propriétaires traditionnels (tel que Windows) ou de solutions spécifiques.

Objectif : Ce séminaire se propose de faire le point sur les possibilités offertes par l’utilisation de Linux dans l’embarqué, en couvrant les sujets énoncés dans le programme ci-dessous.

Introduction

  • Bref historique de Linux et du monde open-source
  • Les avantages de Linux et de l’open-source dans l’embarqué
  • Matériel nécessaire pour utiliser Linux embarqué, quelques exemples de plateformes répandues.

L’offre du monde open-source pour les systèmes embarqués

  • La chaîne de compilation
  • Les chargeurs de démarrage
  • Le noyau Linux et les pilotes de périphériques
  • Les bases du système
  • Les bibliothèques graphiques et multimédia
  • Les composants orientés réseau
  • Les extensions temps-réel

Le système Android, comparaison avec Linux embarqué
Le processus de développement d’un système Linux embarqué

  • Les licences open-source
  • Construction du système Linux
  • Développement et mise au point des applications

Le support commercial et le support communautaire

  • Comment s’appuyer sur la communauté open-source pour accélérer le développement de son système embarqué.

Conclusion – Débat – Questions/réponses
Des démonstrations illustrant l’utilisation pratique de Linux embarqué sur une carte ARM seront réalisées au fil de la présentation.

Hors-série Linux Magazine sur l’embarqué et nouveau magazine

Couverture Linux Magazine Hors Série n°51

Diamond Editions, célèbre en France pour ses magazines consacrés à Linux et aux Logiciels Libres, vient de publier un nouveau hors série n°51 consacré à l’embarqué. Au programme de ce numéro :

  • Tokyo et Kyoto Cabinet, deux outils de base de données intéressants non SQL pour l’embarqué
  • Scratchbox 1.x, un environnement qui rend la compilation croisée plus ou moins transparente. Je reste cependant peu convaincu par l’approche technique de ScratchBox, d’autant plus que suite à son abandon par Nokia après la fusion entre Maemo et Meego, son avenir semble brumeux.
  • L’ePad/aPad, un clone d’iPad sous Android 2.1, décryptage autour d’un clone chinois de mauvaise qualité de la tablette iPad, mais qui peut s’avérer utile pour diverses expérimentations… qui resteront limitées en raison de la non-distribution du code source des composants sous licence GPL, et en particulier du noyau Linux.
  • Lire et décoder les informations GPS, une introduction au fonctionnement du GPS, aux trames NMEA et au démon gpsd.
  • Analyse du Mir:ror
  • Développement pour iPod Touch sous GNU/Linux : application à la communication par liaison Bluetooth
  • C : Retour sur les qualificateurs const et volatile
  • Création d’un afficheur 7 segments avec GHDL. Un peu de développement VHDL dans la lignée des articles publiés ces derniers mois.
  • Ivy, un bus logiciel simple et souple. Présenté comme une alternative à D-Bus, Ivy est à la fois un peu plus que cela (il fonctionne au travers du réseau et pas seulement en local comme D-Bus) et en même temps n’a pas vraiment les mêmes fonctionnalités que D-Bus (exposition de services standardisés, abonnement à des signaux, etc.). Ivy reste néanmoins une brique intéressante pour qui souhaite faire communiquer plusieurs applications à l’intérieur d’une même machine, ou entre plusieurs machines d’un réseau fermé.
  • Développez avec des logiciels libres sur la Freebox ! Une introduction aux bibliothèques EFL et au développement avec ces bibliothèques en utilisant le binding Javascript disponible sur la Freebox.

Notons également que Diamond Editions lance un nouveau magazine, Open Silicium, dont le sous-titre est Le magazine de l’open-source pour l’électronique et l’embarqué. Le premier numéro sortira en kiosque le 24 décembre, mais le site donne déjà un bon aperçu du contenu possible de ce magazine.

Enfin, rappelons que le Linux Magazine traditionnel propose toujours chaque mois une rubrique Kernel Corner qui couvre l’actualité du développement noyau. Dans les numéros de novembre et décembre, il y a donc eu une couverture fort intéressante des nouveautés du noyau 2.6.36.

Les magazines de Diamond Editions restent donc une lecture passionnante pour toutes les personnes effectuant du développement Linux embarqué. D’ailleurs, lorsque nous donnons des formations à l’étranger, nombreux sont les ingénieurs qui nous envient et rêvent d’avoir des magazines de ce niveau technique dans leur langue.

Sessions inter-entreprises de formation à Toulouse début 2011

ToulouseNotre session inter-entreprises de formation « Développement de systèmes Linux embarqués » de la semaine dernière à Toulouse étant complète, nous avons reprogrammé une nouvelle session de cette formation du lundi 21 au vendredi 25 mars 2011 à Toulouse.

En cinq jours, au travers de cours théoriques et de travaux pratiques, cette formation vous familiarise avec l’architecture d’un système embarqué sous Linux, la construction d’un tel système, la façon de tirer parti de composants open source pour accélérer l’ajout de fonctionnalités à votre système et réduire les coûts de développement, puis détaille comment développer et mettre au point vos applications dans le système embarqué.

Cette session inter-entreprises sera animée en langue française, par Thomas Petazzoni, et nous proposons une réduction de 15% pour les personnes s’inscrivant au moins deux mois avant le début de la formation, c’est à dire avant le 21 janvier 2011. Informations, programme détaillé et inscription.

D’autre part, une session inter-entreprises de notre formation « Développement noyau Linux et pilotes de périphériques » aura lieu à Toulouse du 31 janvier au 4 février 2011. Des places sont encore disponibles pour cette session de formation. Informations, programme détaillé et inscription.

Conférence sur Linux et le temps réel

Affiche Ubuntu Party

À l’occasion de l’Ubuntu Party Toulouse 2010, j’ai animé le samedi 20 novembre une conférence sur Linux et le temps réel, dans laquelle je présente brièvement les problématiques pour que Linux répondent aux contraintes des systèmes temps réel, puis aborde rapidement les améliorations apportées au noyau Linux pour aller dans cette direction, les projets PREEMPT_RT et Xenomai. En raison du temps limité (45 minutes), la conférence est plutôt rapide et tous les détails n’ont pu être donnés, mais elle peut constituer une petite introduction au sujet.

Les supports sont disponibles au format PDF, ainsi qu’une vidéo de la conférence.

À noter que Bootlin était partenaire de l’Ubuntu Party Toulouse 2010, et a donc contribué à l’organisation et à la réalisation de cet évènement.

Offre de stage – Gestion de la mémoire flash sous Linux

Exploration et amélioration des technologies de gestion de la mémoire flash sous Linux

Note: Cette offre a été pourvue. Nous ne recherchons plus de stagiaire sur cette thématique. Nos futures offres de stage seront publiées sur notre page carrières.

Penguin worksLe noyau Linux ainsi que les chargeurs de démarrage tels que U-Boot et Barebox supportent les mémoires Flash de type NOR ou NAND au travers d’un sous-système appelé MTD et de systèmes de fichiers spécialisés. Ce type de mémoire est extrêmement utilisé dans le monde de l’embarqué, et il revêt pourtant des caractéristiques qui rendent son utilisation délicate: l’usure des blocs de stockage qui deviennent
inutilisables au fil des écritures. Cette caractéristique des mémoires Flash nécessite une gestion relativement élaborée de ces périphériques (détection et correction des erreurs, répartition équitable des écritures, remplacement des blocs défectueux).

L’objectif de ce stage est de :

  1. Explorer l’existant. Comprendre comment les mémoires Flash fonctionnent au niveau matériel, comment elles sont gérées par le sous-système MTD du noyau, par le sous-système UBI ainsi que par les différents systèmes de fichiers pour Flash (JFFS2, YAFFS, LogFS et UBIFS), comprendre comment les mécanismes de CRC et de détection/marquage des blocs en erreur, de cleanmarkers fonctionnent, les interactions entre chargeur de démarrage (U-Boot / Barebox) et le noyau. Étudier dans quel mesure des systèmes de fichiers en lecture seule tels que SquashFS peuvent être utilisés sur une Flash de manière fiable.
  2. Améliorer l’existant. Selon les observations effectuées à l’étape 1, proposer des améliorations ou corrections aux différents projets concernés. L’utilisation fiable de SquashFS au-dessus d’une mémoire Flash, c’est à dire en tenant compte des blocs en erreur détectés, pourra être l’une des améliorations possibles.
  3. Documenter l’existant. La phase d’exploration pourra donner lieu à la rédaction d’articles de blogs ou dans un magazine, ou de présentations orales lors de conférences spécialisées du monde Linux embarqué.

L’intégralité des travaux effectués pendant le stage sera publié sous licence libre: code et documentation.

Selon les intérêts du candidat et la progression sur le sujet du stage, le stage pourra être étendu à d’autres thématiques liées à Linux embarqué.

Qualités et compétences requises :

  • Autonomie, recherche d’informations et de ressources sur le Web, connaissance minimale du fonctionnement des communautés Logiciel Libre / Open Source.
  • Développement en C sous Linux
  • Connaissance générale du fonctionnement d’un système Linux
  • De préférence, un intérêt pour le bas niveau et le support du matériel
  • Aptitude pour la rédaction d’articles techniques et pour la présentation en public de sujets techniques, en particulier lors de conférences. Bonne maîtrise de l’anglais oral et écrit.

Informations diverses

  • Durée du stage: 4 mois ou plus, suivant la disponibilité de chacun. Le stage pourrait commencer dès la fin de 2010, et se poursuivre jusqu’à la rentrée 2011.
  • Préférence pour les étudiants en dernière année d’études, dans la perspective d’un recrutement en CDI à l’issue du stage.
  • Lieu: le stage aurait lieu soit en région toulousaine, soit dans un contexte de télé-travail en France.
  • Rémunération: 800 EUR mensuels. Prime en fin de stage en fonction des résultats.
  • Contact: envoyer un CV et une lettre de motivation à notre adresse jobs.

Vidéos des Rencontres Mondiales du Logiciel Libre 2010

RMLL 2010Au début du mois de juillet se sont déroulées à Bordeaux les Rencontres Mondiales du Logiciel Libre, un important rendez-vous de la communauté française du Logiciel Libre. Cette conférence, aux multiples thématiques, propose chaque année un thème Systèmes embarqués et matériel libre, dont Florian Fainelli, Pierre Ficheux et moi-même avions la charge cette année.

Comme nous en avons l’habitude, nous avons enregistré en vidéo l’ensemble des conférences de ce thème, et nous vous proposons ces vidéos ci-dessous, sous licence Creative Commons Paternité – Partage sous conditions identiques version 3.0.

Éric Benard (Eukrea) présentant la détection de pollution maritime avec Linux embarqué

Parmi les conférences que nous avons préféré : les deux conférences de Sarah Sharp sur USB3, la conférence d’Éric Bénard sur l’utilisation de Linux embarqué dans la détection de pollution maritime, la conférence sur l’utilisation de FPGA pour le développement de bibliothèques d’outils radiofréquence ainsi que la conférence sur ConnMan par Samuel Ortiz. À noter également que Thomas Petazzoni, de Bootlin, a donné dans le cadre de ce thème une conférence sur le thème Noyau Linux : architecture des drivers et device model.

Samuel Ortiz (Intel) présentant ConnMan
Sarah Sharp (Intel) présentant USB3

Bootlin aux Rencontres Mondiales du Logiciel Libre à Bordeaux

Rencontres Mondiales du Logiciel Libre 6 au 11 juillet 2010Du 6 au 11 juillet a lieu la onzième édition des Rencontres Mondiales du Logiciel Libre à Bordeaux, qui cette année à nouveau, propose un cycle de conférences sur le thème « Systèmes embarqués et Matériel Libre ».

Dans le cadre de ce cycle de conférences, j’aurai le plaisir d’animer une présentation intitulée « Noyau Linux : architecture des drivers et device model », au travers de laquelle je présenterai la façon dont le noyau est organisé pour intégrer les pilotes de périphériques, avec notamment un détail du fameux device model, qui est solution élégante mais pas nécessairement simple à comprendre pour résoudre les interactions entre bus, driver et device. Cette conférence est en grande partie issue d’un élément de notre formation « Développement de pilotes de périphérique noyau Linux » et est généralement la partie de notre formation qui captive le plus les développeurs qui ont déjà commencé à faire un peu de code noyau.

À noter que de nombreuses autres conférences auront lieu dans ce même thème : conférence sur USB3 par Sarah Sharp, Robotique et Logiciels Libres, OpenWRT sur la Neufbox 4, Enna/Geekbox, les Enlightenment Foundation Libraries, Ebook hacking, des conférences en partenariat avec le thème accessibilité, ConnMan, Archos, Buildroot, etc.

Enfin, dans le cadre de ces Rencontres Mondiales, j’aurai également l’occasion de présenter une conférence sur un thème qui n’est pas lié à l’activité de Bootlin : MapOSMatic, des plans de ville pour tous qui portera sur MapOSMatic, un service de génération de plans de ville à la demande à partir des données OpenStreetMap, dont je suis l’un des auteurs.

J’espère avoir l’occasion de vous rencontrer durant ces Rencontres Mondiales du Logiciel Libre ! Je serai la personne derrière la caméra dans le thème « Systèmes embarqués et Matériel Libre ».