Loading...
 

Linux embarqué sous Raspberry PI

Présentation

  • Description : Développement Linux embarqué sur carte Olimex A20
  • Objectifs :
    • Apprendre à installer une distribution taillée sur mesure pour un équipement RaspBerryPi au moyen de Buildroot

Public

  • Public :
    • Développeurs
  • Prérequis :
    • Connaître le C ou le C++
    • Connaîrtre les commandes Linux

Organisation matérielle

  • Durée : 4 jours (28 heures)
  • Horaires : 9h00-12h00 13h00-17h00
  • Rythme : Continue ou fragmentée
  • Mode : Inter ou intra entreprise
  • Lieu : Sur site ou en centre de formation

Environnement

  • Moyens pédagogiques : Document de support de cours en PDF (308 pages)
  • Moyens techniques :
    • PC sous Linux Debian
    • Cartes RaspBerryPi
  • Moyen humains : Développeur diplômé troisième cycle plus de dix ans d'expérience en développement et formation

Garanties qualités

  • Contrôle de la bonne exécution : Fiche d'appréciation remplie par les stagiaires
  • Méthode d'évaluation : Fiche d'évaluation

Programme

Présentation

Architecture

  • Architecture Linux
  • Les différents éléments d'un système Linux
  • Le BIOS et le boot
  • Le boot
  • Introduction au Noyau
  • La librairie LibC

Init et démons

  • Inittab et init
  • Niveau d'exécution
  • Exemple fichier `/etc/inittab`
  • Les différents types de démon

Init et shell

  • Les commandes de base et programme
  • Le Shell
  • Les gestionnaires de fenêtre
  • Qt

Licences

Les distributions

  • Les distributions
  • Les outils de mise à jour

Les licences

  • Objectif
  • Free vs Open Source
  • Avertissement
  • L'objectif
  • Les formes de licence
  • Les principales licences de logiciels libres

Différences entre les licences

  • GPL
  • LGPL
  • Apache
  • X11
  • Eclipse
  • BSD
  • Licences sur les contenus

Compilation

Compilation des sources

  • Vérification d'intégrité
  • Décompression des sources
  • Git SVN CVS
  • Commandes de base CVS/SVN/git
  • Morphologies des programmes
  • Rappel mécanisme de compilation

Les librairies

  • Le principe des librairies
  • Édition de lien
  • Librairies dynamiques
  • Utilisation des librairies
  • Librairies C utilisées en C++
  • Les Makefiles
  • Configure
  • Problèmes de compilation
  • Installation d'une librairie sous Debian

La librairie libc

  • Glibc
  • uclibc
  • eglibc
  • dietlibc
  • Newlib

Le noyau

Présentation

  • Présentation
  • Versions
  • Les sources
  • Configuration du noyau
  • Module / Kernel / None
  • Avantage / Désavantage des modules
  • Commandes sur les modules

Configuration

  • make xconfig
  • make gconfig
  • make menuconfig
  • make nconfig
  • Autres possibilités
  • Les options de compilation du noyau
  • Options de compilation (fin)

Options de compilation

  • La compilation
  • Exercice : compiler un noyau
  • Installation du noyau
  • Installation des modules
  • Disque minimal en RAM
  • Fichier config

Busybox

Busybox

  • Busybox : présentation
  • Busybox : configuration
  • Les commandes Busybox
  • Ajouter des commandes à Busybox
  • Finalisation d'ajout d'une commande

L'aide via Freenode

  • Aide
  • L'aide par IRC
  • Logiciels IRC
  • IRC : Présentation du réseau Freenode
  • Exemple de canal

Plus loin Avec Freenode

  • Liste des canaux
  • Freenode : Nickserv
  • Quelques règles de bon sens
  • Pastebin
  • Imagebin

Raspberry

Architecture ARM

  • Les processeurs ARM
  • Quelques termes à connaître
  • Les familles de processeurs ARM
  • Les processeurs ARM9 et ARM10
  • Les Cortex

Présentation de la carte

  • Les cartes Raspberry
  • Carte Raspberry PI 2
  • Carte raspberry PI 2
  • Légendes
  • OS disponibles

Installation de base

  • Principe d'installation
  • Formatage via fdisk
  • Copie de Raspbian sur la carte

Compilation croisée

Présentation

  • Compilation croisée
  • Machine Hôte
  • Les compilateurs C et C++
  • Le compilateur GCC (suite)
  • Contenu d'une chaîne croisée
  • Les binutils
  • Binutils (suite)
  • Les librairies de traitement mathématique
  • Les entêtes du noyau

Compilation du compilateur

  • Chaîne de compilation croisée
  • Alternatives à la compilation croisée
  • Les chaînes précompilées
  • Les chaînes de fabrication de cross compilateurs
  • Les composants de la chaîne
  • Processus de fabrication de la chaîne soi-même

Appels compilateurs/compilateurs croisés

  • Édition de lien
  • Les étapes de compilation
  • Exemples

Buildroot

Présentation

  • Utilisation de BuildRoot
  • Buildroot : principe
  • Paquetages nécessaires à Buildroot
  • Compilation de Buildroot
  • Les paramètres qu'on peut ajouter

Utilisation

  • Exécution
  • Les fichiers générés
  • Les fichiers .conig
  • Utiliser la toolchain générée
  • Utiliser une chaîne de compilation externe

Installation de la distribution

  • Préparation de la carte Micro SD
  • Agrandir la partition à toute la mémoire SD
  • Divers réglages
  • Customiser la cible

Divers

Paramètres spécifiques

  • Configuration de l’ordonnanceur
  • Exemples lignes cron
  • Clavier français
  • Notes à propos des modifications de configuration buildroot

Services réseau supplémentaires

  • Connexion sécurisée avec SSH et transferts de fichiers par SCP
  • Serveur httpd de Busybox
  • Ajustement d’horloge système avec NTP
  • Autres astuces et documentations

Ajout de programmes tiers

  • Ajout de programmes spécifiques
  • Les patches
  • Niveaux de patch

gdb

Premiers pas

  • Présentation de gdb
  • gdb : lancement
  • Programme avec arguments
  • Quelques astuces
  • Gestion des variables d'environnement
  • Afficher le source d'un programme

Suivre l'exécution

  • Breakpoint - watchpoints - catchpoints
  • gdb : point d'arrêt
  • Watchpoint
  • Gestion des points d'arrêt
  • Les commandes pas à pas
  • Signals

Affichage des variables

  • Revenir en arrière
  • La pile d'appel
  • Modification du contexte
  • print variable
  • Autres affichages
  • Printf dynamique
  • Break avec liste de commandes

Cas avancés

Debuguer un programme en exécution

  • Contraintes
  • Sous gdb ou ddd

Debuguer via un core dump

  • Debug après plantage : core dump
  • Tuning de génération du core
  • Technique de débugage du core

Debuguer à distance

  • Debug croisé
  • Installation sur l'équipement distant
  • Mise en route sur l'équipement host
  • Remarques sur le debug croisé


Dates et tarifs

Inter entreprises

Intra entreprise

  • Région parisienne : 5200 HT
  • Autres zones : 5200 HT + Frais de déplacement
  • Dates : Consultez moi

Centres de formation partenaires

Switch Language

English (en)French (Français, fr)

Recherche