Prenez contact avec nous

Plan du cours

Programme du cours

Introduction

  • histoire de Unix/Linux, licences, normes, travail avec les logiciels libres, trouver de l'aide, exploration du code, philosophie Unix

Spécificités de l'embarqué

  • Linux sur bureau comparé à Linux dans un système embarqué, chaînes d'outils croisées/natifs, chaînes d'outils précompilées, systèmes de build, bibliothèques C, ...

Carte d'évaluation (Eval Board)

  • Comment booter ?, Voir le boot en direct

Introduction à Yocto

  • Qu'est-ce que Yocto ? Pourquoi utiliser le YP ? Qu'est-ce que le YP ?, Poky, BitBake, OE-Core, Métadonnées

L'Autobuilder du YP

  • Qu'est-ce que l'Autobuilder du YP ?, Conteneur Docker (pull, lancer le conteneur)

Le Flux de travail du YP

  • Introduction
  • Flux de travail, architecture OE
  • Configuration (Utilisateur, Métadonnées, Machine, Politique de Distribution)
  • Sources
  • Build (Récupération des sources, Patching, Configuration/Compilation/Installation, Pseudo, Exemples de recettes, Analyse de sortie/Emballage, Génération d'images, Génération du SDK)
  • Personnalisation des images (Introduction, local.conf, IMAGE_FEATURES, fichiers .bb personnalisés, groupes de paquets personnalisés)

BitBake

  • Histoire
  • Syntaxe
  • Débogage (niveau de débogage, trouver recettes/images/groupes de paquets, environnement/tâches/journalisation BitBake, forcer le build/tâche spécifique, cleansstate, invalider le timestamp, devshell, explorateur de dépendances, tuer toutes les instances BitBake, wrapper graphique BitBake)

Couches (Layers)

  • Introduction, outil bitbake-layers, outil yocto-layer

BSP

  • Introduction, Flux de développement système, Guide du développeur BSP (bsp-tool)

Noyau

  • Introduction, Flux de développement système, Manuel de développement du noyau (defconfig, defconfig + fragment de configuration, kmod in-tree, kmod out-of-tree, fdt, ...)

Kit de développement d'applications

  • Introduction, Chaîne d'outils de développement croisé, Sysroot, ADT - Plugin Yocto pour Eclipse, L'émulateur QEMU, Outils espace utilisateur
  • Installation de l'ADT et des chaînes d'outils
    • Utilisation d'une archive tarball de chaîne d'outils croisée (Introduction, Construction/Installation de l'archive tarball de chaîne d'outils croisée, Chaîne d'outils croisée + Makefile/Autotools/Lib Autotools + App, recettes)
    • Utilisation de l'installateur ADT (Introduction, Serveur Web, Build image + installateur ADT, Configurer + lancer l'installateur ADT, ajouter l'installateur ADT au serveur web, installateur ADT sur l'hôte)

Eclipse

  • Introduction, Flux de travail de développement d'applications
  • Travailler avec Eclipse (fonctionnalités rootfs, noyau + fdt, rootfs, installer JDK, installer Eclipse, configurer Eclipse, installer le plugin Yocto, Configurer le plugin Yocto, Créer un projet Autotools, Configurer les chaînes d'outils croisées, Construire le projet)

Débogage

  • Introduction, gdb, débogage à distance gdb, (débogage à distance gdb) Débogage avec Eclipse, (à distance) Lancer depuis Eclipse

Profiling/Tracing

  • Introduction, perf, gprof, gcov, strace, ftrace, systemtap, oprofile, LTTng + Eclipse (visualisation de données)

Gestion des paquets

  • Travailler avec les paquets, IPK, création d'un flux de paquets, installation d'un paquet avec opkg sur la cible

Licences

  • Introduction, Ajouter une licence personnalisée, Conformité aux licences Open Source

Devtool

  • Introduction, devtool, démonstration en monde réel meta-cfengine

Sauf mention contraire, le contenu et ce programme de cours sont licenciés sous Attribution-Pas d'Utilisation Commerciale-Partage dans les Mêmes Conditions 4.0 International (CC BY-NC-SA 4.0).

Pré requis

Prérequis

  • Une connaissance de base de l'utilisation d'un système GNU/Linux (par exemple Ubuntu) en tant qu'utilisateur final dans l'espace utilisateur
  • Une connaissance de base d'un shell en ligne de commande
  • Des connaissances de base en programmation espace utilisateur/espace noyau avec GNU/Linux
  • Des connaissances intermédiaires en programmation C
  • Vous devez avoir suivi la formation Architecture des Systèmes GNU/Linux Embarqués (5 jours) (fortement recommandée !), à moins que vous ne connaissiez déjà le contenu présenté dans ces formations.
  • Vous devez effectivement avoir de l'expérience avec GNU/Linux embarqué (noyau, espace utilisateur, système de fichiers racine, outils) pour suivre la formation Yocto.
  • Il peut être utile d'avoir suivi Pilotes Périphériques et Internes du Noyau GNU/Linux Embarqués (5 jours), mais ce n'est pas vraiment un prérequis. Il suffit de savoir comment compiler le noyau GNU/Linux, les pilotes du noyau (in-tree ou out-of-tree) et le DTS depuis le côté noyau pour suivre la formation Yocto.
 28 Heures

Nombre de participants


Prix par participant

Nos clients témoignent (1)

Cours à venir

Catégories Similaires