• Aide
  • Eurêkoi Eurêkoi

Livre

Linux embarqué : mise en place et développement

Résumé

Présentation des techniques de création d'un système Linux embarqué et de ses différents éléments. Complétée d'une description des outils et des méthodes de développement liés à l'utilisation des cartes i.MX6 de type Wandboard, Raspberry Pi ou BeagleBone Black. ©Electre 2017


  • Éditeur(s)
  • Date
    • DL 2017
  • Notes
    • La couv. porte en plus : "Exemples réalisés sur Raspberry Pi 3"
  • Langues
    • Français
  • Description matérielle
    • 1 vol. (XVI-220 p.) : ill. ; 23 cm
  • Sujet(s)
  • ISBN
    • 978-2-212-67484-2
  • Indice
    • 681.44 Systèmes d'exploitation Unix, Linux
  • Quatrième de couverture
    • Un ouvrage de référence entièrement remis à jour

      Depuis plus de 15 ans, date de parution de la première édition de Linux embarqué, le système d'exploitation Linux a acquis ses lettres de noblesse dans le domaine du logiciel embarqué et de l'informatique industrielle en général. Nombreux sont les produits industriels ou grand public qui l'utilisent : citons les boîtiers d'accès à Internet, les téléviseurs et, bien entendu, la plupart des smartphones équipés du système Android de Google (basé sur le noyau Linux). Le marché de l'automobile est également friand de Linux pour la partie IVI (In Vehicle Infotainment). N'oublions pas, enfin, le domaine naissant de l'Internet des objets (IoT).

      Cet ouvrage constitue une version totalement revue des éditions précédentes (Linux embarqué versions 1 à 4). Plus concis et mieux ciblé, il fait volontairement l'impasse sur certains chapitres généraux au bénéfice d'une étude approfondie des outils et composants phares de l'environnement Linux pour l'embarqué (Yocto, Buildroot, U-Boot, Eclipse ou bien OpenOCD). L'ouvrage décrit en détail la construction d'une distribution Linux optimisée pour la cible (BSP), ainsi que l'environnement de développement associé (SDK). Un chapitre évoque les techniques de développement associé (SDK). Un chapitre évoque les techniques de développement (Autotools, CMake), mise au point (GDB) et profilage (Ftrace), ainsi que l'utilisation de l'environnement graphique Eclipse. Toujours pour rester dans l'air du temps, la quasi-totalité des démonstrations sont réalisées sur la célèbre carte Raspberry Pi 3, que bon nombre de technophiles possèdent déjà. Dans le cas contraire, le lecteur pourra l'acquérir pour environ 30 euros. La carte BeagleBone Black (à peu près équivalente) est également utilisée dans le chapitre consacré à U-Boot.

      Les manipulations décrites dans cet ouvrage sont réalisables quelle que soit la distribution utilisée sur le poste de développement. Cependant, nous avons choisi la distribution Ubuntu 16.04.3 (LTS). Tous les exemples de programmes du livre sont en téléchargement sur notre site Internet, www.editions-eyrolles.com/dl/0067484, ou bien sur la page GitHub de l'auteur, à l'adresse https ://github.com/pficheux/LE5.

      À qui s'adresse ce livre ?

      ¤ Aux développeurs Linux et ingénieurs ayant à réaliser des systèmes embarqués.

      ¤ Aux étudiants désirant parfaire leurs connaissances sur ce sujet.

      ¤ Plus généralement à tous ceux ayant déjà une expérience de Linux et désirant se familiariser avec son utilisation comme système embarqué.


  • Tables des matières
      • Linux embarqué

      • Mise en place et développement

      • Pierre Ficheux

      • Eyrolles

      • Avant-proposXIII
      • Chapitre 1
        Introduction aux systèmes embarqués1
      • Qu'est-ce qu'un système embarqué ?1
      • Évolution vers le système d'exploitation3
      • Et l'IoT dans tout ça ?4
      • Tour d'horizon des systèmes d'exploitation existants5
      • FreeRTOS5
      • VxWorks6
      • QNX6
      • µC/OS II (micro-C/OS II)6
      • Windows Embedded6
      • LynxOS7
      • Nucleus7
      • VRTX7
      • eCos7
      • Contiki7
      • RIOT8
      • Conclusion8
      • Chapitre 2
        Rappels sur Linux et le logiciel libre9
      • Logiciel libre, concepts et licences9
      • Licence GPL10
      • Isolation et licence LGPL10
      • Espace du noyau11
      • Licence GPL v311
      • Licence Apache11
      • Outils liés aux licences libres12
      • From UNIX to Linux12
      • Le noyau Linux13
      • Répertoires et fichiers principaux14
      • Organisation générale15
      • Le répertoire / dev16
      • Le système de fichiers proc17
      • Le système de fichiers sysfs19
      • Gestion des services20
      • Les bibliothèques partagées20
      • Le répertoire /var21
      • Conclusion22
      • Pourquoi Linux est-il adapté à l'embarqué ?22
      • Dans quels cas Linux peut-il être inadapté ?22
      • Points clés23
      • Chapitre 3
        Développer pour Linux embarqué25
      • Plate-forme cible25
      • Machine hôte28
      • Développer pour Linux (embarqué)28
      • L'instant de l'Eclipse30
      • Choix d'une chaîne croisée32
      • Chaîne fournie avec la distribution 32
      • Chaîne binaire 33
      • Chaîne produite à partir des sources 36
      • Outils de construction de projet36
      • GNU Autotools 37
      • CMake 39
      • Introduction au développement noyau41
      • Un module « Hello World »41
      • Cas de la compilation croisée43
      • Mise au point avec GDB44
      • Utilisation de GDB44
      • Mise au point d'un exécutable (espace utilisateur) 45
      • Mise au point en espace noyau 48
      • Introduction au JTAG49
      • Présentation et mise en place d'OpenOCD50
      • Configuration de la cible51
      • Configuration de la sonde et test de l'accès JTAG53
      • Mise au point d'un pilote de périphérique54
      • Autres outils de mise au point57
      • La commande strace57
      • Utilisation de Ftrace59
      • Test du traceur de fonction 60
      • Test du traceur d'événements 61
      • Utilisation de QEMU64
      • Conclusion67
      • Points clés67
      • Chapitre 4
        Construire une distribution69
      • Distribution standard ou construite ?69
      • Installation de la distribution Raspbian70
      • Méthode de création72
      • L'outil BusyBox73
      • Squelette du système74
      • Choix d'un compilateur croisé75
      • Compilation de BusyBox76
      • Installation des bibliothèques77
      • Test du système sur la cible78
      • De l'utilité d'un outil de construction79
      • Conclusion80
      • Points clés80
      • Chapitre 5
        Utiliser buildroot83
      • Historique et introduction83
      • Premier test pour Raspberry Pi 384
      • Fonctionnement et configuration88
      • Options de construction92
      • Choix d'une chaîne de compilation93
      • Configuration du système96
      • Prise en compte du répertoire / dev 97
      • Utilisation des « overlays » 98
      • Utilisation des scripts 99
      • Sélection du noyau Linux100
      • Choix des composants de la distribution101
      • Choix des formats des images105
      • Choix du bootloader107
      • Construction d'utilitaires107
      • Traitement des options obsolètes108
      • Ajout de paquets et configuration externe108
      • Exemples de recettes simples108
      • Exemple basé sur Autotools108
      • Exemple basé sur CMake109
      • Exemple basé sur un fichier Makefile110
      • Ajout des recettes à Buildroot111
      • Mise en place d'une arborescence br2-external111
      • Autres options « avancées »115
      • Commandes et outils divers118
      • Conclusion119
      • Points clés120
      • Exercices120
      • Exercice 1 (*)120
      • Exercice 2 (**)120
      • Chapitre 6
        Utiliser Yocto121
      • Historique et introduction121
      • Premier test sur QEMU/x86 et Raspberry Pi 3123
      • Fonctionnement et configuration128
      • Description des layers129
      • Répertoires produits130
      • Fichiers à installer, installés ou installables 130
      • Répertoires de travail 131
      • Notion de recette132
      • Notion de classe133
      • Fichier d'inclusion133
      • Fichier de configuration133
      • Utilisation de BitBake133
      • Syntaxe d'affectation des variables136
      • Enrichir l'image138
      • Ajout de recettes139
      • Ajout de « features »140
      • Création de recettes142
      • Un premier exemple142
      • Serveur de paquets144
      • Les différents types de recettes145
      • Exemple avec sources locales147
      • Exemple basé sur un fichier Makefile150
      • Exemple basé sur Autotools151
      • Exemple basé sur CMake152
      • Techniques avancées sur les recettes152
      • Dépendances des recettes152
      • Intégration d'un patch154
      • Utilisation d'un fichier .bbapend155
      • Priorités des layers158
      • Ajout et définition de fonctions159
      • Recettes du noyau et des modules160
      • Recette du noyau Linux 160
      • Intégration d'un module 165
      • Interface graphique168
      • Test de X11169
      • Test de Wayland171
      • Test de Qt 5172
      • Image et « distro »173
      • Notion de « package group »175
      • Notion de « distro »176
      • Création et utilisation du SDK177
      • Outils et sujets divers179
      • Gestion des licences « commerciales »179
      • Paramètres nationaux179
      • Assurance qualité (QA) et intégration continue180
      • QA 181
      • Intégration continue 181
      • Test unitaire (Ptest)181
      • Test de l'image (testimage)184
      • Conclusion187
      • Points clés187
      • Exercices188
      • Exercice 1 (*)188
      • Exercice 2 (**)188
      • Chapitre 7
        Utiliser U-Boot189
      • Introduction à U-Boot189
      • Test sur BeagleBone Black190
      • Compilation d'U-Boot192
      • Utilisation et configuration d'U-Boot194
      • La syntaxe d'U-Boot194
      • Exemples de manipulation 194
      • Liste des principales commandes et variables 195
      • Création de macros196
      • Utilisation d'une mémoire flash NOR199
      • Conclusion204
      • Points clés204
      • Chapitre 8
        Étude de cas « IoT »205
      • Introduction205
      • Bus I2C206
      • Construction de l'image208
      • Connexion Wi-Fi209
      • Utilisation du capteur I2C (MPL115A2)210
      • Configuration du bus I2C 210
      • Pilotage du capteur MPL115A2 210
      • Ajout de MQTT213
      • Recette de l'image214
      • Visualisation des données214
      • Conclusion215
      • Exercice (***)215
      • Index217

  • Origine de la notice:
    • FR-751131015 ;
    • Electre
  • Disponible - 681.44 FIC

    Niveau 3 - Informatique