Présentation

Article

1 - INTRODUCTION AU LOGICIEL LIBRE, PROJET GNU

  • 1.1 - What's GNU ? GNU's not UNIX
  • 1.2 - Licences GPL et LGPL
  • 1.3 - Linux ou GNU/Linux ?

2 - LINUX COMME SYSTÈME EMBARQUÉ

  • 2.1 - Contraintes des systèmes embarqués propriétaires
  • 2.2 - Avantages du logiciel libre
  • 2.3 - Inconvénients
  • 2.4 - Pourquoi Linux est-il adapté aux applications embarquées ?
  • 2.5 - Dans quels cas peut-il être inadapté ?

3 - CHOIX DU MATÉRIEL

4 - ARCHITECTURE D'UN SYSTÈME LINUX EMBARQUÉ

5 - EXEMPLE DE DISTRIBUTION

6 - TEMPS RÉEL

7 - CONCLUSION

| Réf : H1570 v1

Exemple de distribution
Linux embarqué

Auteur(s) : Pierre FICHEUX

Date de publication : 10 mars 2012

Pour explorer cet article
Télécharger l'extrait gratuit

Vous êtes déjà abonné ?Connectez-vous !

Sommaire

Présentation

Auteur(s)

  • Pierre FICHEUX : Ingénieur arts et métiers - Directeur technique chez Open Wide Ingénierie - Enseignant à l'ENSEIRB (Bordeaux) - Enseignant et responsable de la majeure GISTRE (Génie informatique des systèmes temps réel et embarqués) à l'EPITA (Paris)

Lire cet article issu d'une ressource documentaire complète, actualisée et validée par des comités scientifiques.

Lire l’article

INTRODUCTION

Lorsque Linus TORVALDS, alors jeune étudiant de l'Université d'Helsinki publie sur Internet, en juillet 1991, son premier message concernant le développement balbutiant de son noyau UNIX libre, il ne se doute certainement pas qu'à l'instar d'autres célébrités de la technologie comme Steve JOBS ou Bill GATES, il est sur le point de changer le monde.

Linux est un système d'exploitation multitâche de la famille UNIX. Il fut initialement développé sur processeur de type Intel x86 (386 et 486), mais il a depuis été adapté sur un grand nombre d'architectures matérielles comme les PowerPC, ARM, SH4 et désormais des processeurs industriels spécialisés comme Nios II, MicroBlaze ou Blackfin. Au final, 25 architectures sont supportées par la version officielle du noyau Linux.

Linux est conforme au standard POSIX (Portable Operating System Interfaces), ce qui signifie que les sources développées sous Linux peuvent être compilées facilement sur d'autres systèmes d'exploitation compatibles POSIX. Linux est également réputé pour sa grande interopérabilité, c'est-à-dire qu'il peut facilement s'intégrer dans un système informatique complexe utilisant d'autres systèmes d'exploitation. Le code source du noyau Linux est disponible librement sur le réseau Internet, tout en respectant la licence GPL définie pour le projet GNU.

Initialement, le logiciel embarqué était un marché spécialisé totalement dominé par des éditeurs de taille modeste (comme Wind River, éditeur du système VxWorks, fondée en 1981), pratiquant des coûts de licence très élevés du fait du faible volume de production qui se résumait aux applications militaires, spatiales et industrielles en général. Les contraintes du logiciel embarqué sont très différentes de celles du logiciel classique, en particulier sur la notion de durée de vie du logiciel, bien plus importante. À titre d'exemple, le télescope spatial Hubble utilisant le système d'exploitation VRTX tourne – au sens propre – depuis 1990.

Au début des années 2000, Linux est déjà très utilisé dans le monde des serveurs et ce directement en concurrence avec les solutions Microsoft. Déjà à l'époque, de nombreux développeurs et utilisateurs de Linux pensent que ce dernier peut être utilisé pour des solutions industrielles et embarquées et ce de par sa fiabilité, la disponibilité de son code source et bien sûr son coût de redistribution nul. L'évolution de l'informatique embarquée vers le multimédia de par la généralisation de l'accès à Internet a depuis permis à Linux de devenir un acteur majeur dans le domaine puisque les systèmes d'exploitations embarqués propriétaires n'étaient pas adaptés à ces fonctionnalités.

Les équipements d'accès à Internet set-top box utilisent majoritairement des systèmes d'exploitation basés sur Linux, citons les Freebox, Neufbox, BBox et autre Livebox. De nombreux smartphones utilisent également Linux au travers de systèmes comme Android (Google) ou plus récemment Bada (SAMSUNG). Même si Windows CE est très présent dans le domaine des équipements graphiques comme les GPS, certains modèles (TomTom) sont également basés sur Linux.

La connaissance de ce système et des spécificités des versions embarquées et industrielles est désormais une nécessité pour les entreprises – et donc les ingénieurs – des domaines concernés, qu'ils soient fabricants de matériel électronique, éditeurs de logiciels, de solutions de développement ou d'exploitation.

La compréhension de ce dossier est facilitée si le lecteur est déjà un utilisateur du système Linux. Cependant, nous effectuerons quelques rappels nécessaires pour le plus grand nombre de lecteurs. Nous décrirons la réalisation d'une véritable distribution Linux utilisable sur une cible x86 ou bien ARM9.

Cet article est réservé aux abonnés.
Il vous reste 92% à découvrir.

Pour explorer cet article
Téléchargez l'extrait gratuit

Vous êtes déjà abonné ?Connectez-vous !


L'expertise technique et scientifique de référence

La plus importante ressource documentaire technique et scientifique en langue française, avec + de 1 200 auteurs et 100 conseillers scientifiques.
+ de 10 000 articles et 1 000 fiches pratiques opérationnelles, + de 800 articles nouveaux ou mis à jours chaque année.
De la conception au prototypage, jusqu'à l'industrialisation, la référence pour sécuriser le développement de vos projets industriels.

VERSIONS

Il existe d'autres versions de cet article :

DOI (Digital Object Identifier)

https://doi.org/10.51257/a-v1-h1570


Cet article fait partie de l’offre

Automatique et ingénierie système

(141 articles en ce moment)

Cette offre vous donne accès à :

Une base complète d’articles

Actualisée et enrichie d’articles validés par nos comités scientifiques

Des services

Un ensemble d'outils exclusifs en complément des ressources

Un Parcours Pratique

Opérationnel et didactique, pour garantir l'acquisition des compétences transverses

Doc & Quiz

Des articles interactifs avec des quiz, pour une lecture constructive

ABONNEZ-VOUS

Lecture en cours
Présentation

5. Exemple de distribution

La production d'une distribution Linux embarqué nécessite un environnement de développement, appelé également hôte. En général, on utilise un PC/x86 sous Linux mais il existe également des outils fonctionnant sous Windows même s'il sont moins fréquents. Le choix de la distribution Linux sur l'hôte a assez peu d'importance et nous pouvons utiliser la majorité des distributions déjà citées (Fedora, Debian, Ubuntu).

5.1 Compilation croisée

Le compilateur est le principal outil du développeur logiciel. Dans le cas d'une distribution embarquée, on utilise le plus souvent un compilateur croisé (cross compiler ) permettant de produire sur l'hôte de développement du code exécutable sur le système cible. Comme dans le cas du développement natif sur x86, le compilateur est une version adaptée de GCC, le compilateur du projet GNU. Ainsi, si le compilateur natif correspond à la commande gcc, un compilateur croisé pour cible ARM correspondra – par exemple – à la commande arm-linux-gcc. En plus du compilateur, les autres outils de la chaîne existent également en version croisée, comme le débogueur GDB croisé nommé arm-linux-gdb ou bien l'assembleur nommé arm-linux-as.

Pour obtenir la chaîne de compilation croisée, il y a plusieurs solutions :

  • la construire soi-même, ce qui est une tâche très ardue, réservée aux spécialistes ;

  • obtenir une version binaire (gratuite ou non) auprès d'un éditeur spécialisé ;

  • la produire à l'aide d'un outil dédié automatisé. Cette solution est proposée par des outils que nous décrivons par la suite (§ 5.3, 5.4).

HAUT DE PAGE

5.2 Choix de la distribution

Choisir une distribution Linux pour une solution embarquée n'est pas une tâche aisée. L'utilisateur a le choix entre plusieurs solutions :

  • la réduction...

Cet article est réservé aux abonnés.
Il vous reste 93% à découvrir.

Pour explorer cet article
Téléchargez l'extrait gratuit

Vous êtes déjà abonné ?Connectez-vous !


L'expertise technique et scientifique de référence

La plus importante ressource documentaire technique et scientifique en langue française, avec + de 1 200 auteurs et 100 conseillers scientifiques.
+ de 10 000 articles et 1 000 fiches pratiques opérationnelles, + de 800 articles nouveaux ou mis à jours chaque année.
De la conception au prototypage, jusqu'à l'industrialisation, la référence pour sécuriser le développement de vos projets industriels.

Cet article fait partie de l’offre

Automatique et ingénierie système

(141 articles en ce moment)

Cette offre vous donne accès à :

Une base complète d’articles

Actualisée et enrichie d’articles validés par nos comités scientifiques

Des services

Un ensemble d'outils exclusifs en complément des ressources

Un Parcours Pratique

Opérationnel et didactique, pour garantir l'acquisition des compétences transverses

Doc & Quiz

Des articles interactifs avec des quiz, pour une lecture constructive

ABONNEZ-VOUS

Lecture en cours
Exemple de distribution
Sommaire
Sommaire

BIBLIOGRAPHIE

  • (1) - FICHEUX (P.) -   Linux embarqué.  -  Troisième édition, Eyrolles (2010).

  • (2) - YAGHMOUR (K.) -   Building embedded linux systems.  -  O'Reilly (2008).

  • (3) - SALLY (G.) -   Pro Linux embedded systems.  -  Apress (2010).

  • (4) - STALLMAN (R.) -   R. Stallman et la révolution du logiciel libre.  -  Eyrolles (2010).

DANS NOS BASES DOCUMENTAIRES

1 Sites Internet

FAQ de la licence GPL http://www.gnu.org/licences/gpl-faq.html

Conférence de Richard Stallman en janvier 2010 (Eyrolles) http://www.dailymotion.com/video/xbuw37_1-5-richard-stallman-et-la-revoluti_tech

Projet OpenEmbedded http://www.openembedded.org

Projet Buildroot http://buildroot.uclibc.org

Projet Open Wrt http://openwrt.org

PTXdist http://www.ptxdist.org/software/ptxdist/index_en.html

Projet Crosstool-NG (production de compilateur croisé) http://www.crosstool-ng.org

Portail Linux embarqué par Patrice Kadionik http://www.enseirb.fr/~kadionik

Projet Busybox http://www.busybox.net

Bootloader U-Boot http://www.denx.de/wiki/U-Boot

PREEMPT-RT http://rt.wiki.kernel.org

Projet ADEOS http://home.gna.org/adeos

Xenomai http://www.xenomai.org

Portage de PREEMPT-RT...

Cet article est réservé aux abonnés.
Il vous reste 92% à découvrir.

Pour explorer cet article
Téléchargez l'extrait gratuit

Vous êtes déjà abonné ?Connectez-vous !


L'expertise technique et scientifique de référence

La plus importante ressource documentaire technique et scientifique en langue française, avec + de 1 200 auteurs et 100 conseillers scientifiques.
+ de 10 000 articles et 1 000 fiches pratiques opérationnelles, + de 800 articles nouveaux ou mis à jours chaque année.
De la conception au prototypage, jusqu'à l'industrialisation, la référence pour sécuriser le développement de vos projets industriels.

Cet article fait partie de l’offre

Automatique et ingénierie système

(141 articles en ce moment)

Cette offre vous donne accès à :

Une base complète d’articles

Actualisée et enrichie d’articles validés par nos comités scientifiques

Des services

Un ensemble d'outils exclusifs en complément des ressources

Un Parcours Pratique

Opérationnel et didactique, pour garantir l'acquisition des compétences transverses

Doc & Quiz

Des articles interactifs avec des quiz, pour une lecture constructive

ABONNEZ-VOUS