Réservez les formations disponibles partout en France !

location-dot
location-dot
location-dot
À partir de
location-dot
image OF
  1. Accueil
  2. Air, Défense, Espace
  3. Aéronautique
  4. Systèmes embarqués
  5. Raspberry PI - Développement d'applications embarquées
Raspberry PI - Développement d'applications embarquées

Raspberry PI - Développement d'applications embarquées

Qualiopi
En centre
Non éligible CPF
Objectifs
Programme

A l'issue de cette formation, vous serez capable de :

  • Installer une distribution taillée sur mesure pour un équipement RaspBerryPI au moyen de Buildroot.

Jour 1

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émons

Init et Shell

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

Licences

Les distributions

  • Les outils de mise à jour
  • Organisation du disque
  • Organisation multi disques
  • Hiérarchie sur le disque
  • Répertoire /usr et /var/etc/fstab

Les licences

  • Objectif
  • Free vs Open Source
  • Avertissement
  • L'objectif
  • Les formes de licence
  • Caractéristiques des licences libres
  • Différences Open Source Licences libres
  • 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 Makefiles
  • Configure
  • Problèmes de compilation
  • Les étapes de compilation
  • Exemples

Les librairies

  • Le principe des librairies
  • Librairies statiques vs dynamiques
  • Librairies dynamiques
  • Edition de lien
  • Utilisation des librairies
  • Installation d'une librairie sous Debian

La librairie LibC

  • Glibc
  • Uclibc
  • Eglibc
  • Dietlibc
  • Newlib

Jour 2

Le noyau

Présentation

  • Versions
  • Les sources
  • Configuration du noyau
  • Module / Kernel / None
  • Avantages / désavantages 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)
  • Dépendances des options
  • Select
  • Les patches
  • Niveaux de patch

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

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
  • Légendes
  • OS disponibles

Installation de base

  • Principe d'installation
  • Copie de Raspbian sur la carte

Compilation croisée

Présentation

  • Compilation croisée
  • Machine hôte
  • Les compilateurs C et C++
  • Contenu d'une chaîne croisée
  • Les binutils
  • 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

Jour 3

Buildroot

Présentation

  • Utilisation de Buildroot
  • Schéma de principe
  • Aide
  • 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 .config
  • 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 problèmes classiques
  • Le fichier de configuration du lanceur de la Raspberry

Jour 4

Customisation

Services supplémentaires

  • Connexion sécurisée avec SSH et transferts de fichiers par SCP
  • Serveur httpd de Busybox
  • Ajout d'utilisateurs
  • Ajout de programmes spécifiques
  • Exécution de commandes ShellScript avant la génération de l'image
  • Sed : édition d'un fichier

Paramètres spécifiques

  • Clavier français
  • Configuration de l'ordonnanceur
  • Exemples lignes cron
  • Fichier dtb - uboot - qemu
  • qemu
  • Compiler Buildroot pour qemu

Le kit Raspberry dans QtCreator

  • Ajout de la chaîne de compilation dans QtCreator
  • Ajout du device Raspberry
  • Debug croisé avec la Raspberry
  • Connaître la plateforme destination dans le fichier pro
  • CMake avec Buildroot

Les fonctions de GDB

Techniques de débugage

  • Présentation de gdb
  • Savoir si un exécutable est compilé en mode débug
  • Principe gdb
  • Les commandes pas à pas

Affichage des variables

  • Modification du contexte
  • Print variable
  • Autres affichages

Les points d'arrêt

  • GDB : point d'arrêt
  • Breakpoint - watchpoints - catchpoints
  • Watchpoint
  • Gestion des points d'arrêt
  • Break avec liste de commandes
  • Printf dynamique
  • La pile d'appel

Débugage à distance

  • Débugage du core via Eclipse
  • Débug croisé
  • Installation sur l'équipement distant
  • Mise en route sur l'équipement host
  • Remarques sur le débug croisé
  • Mise en oeuvre sur Eclipse

Exemples de travaux pratiques (à titre indicatif)

  • Récupérer les sources du jeu Extrême Tux Racer Pro et le compiler
  • Construction de la librairie glibc
  • Compiler le noyau Linux
  • Compiler Busybox
  • Installation d'une image Raspberry PI prête à l'emploi
  • Fabrication d'une Image avec compilation automatique des programmes
  • Fabrication d'une Imageqemu avec compilation automatique des programmes
Public visé

Développeurs.

Prérequis

Connaître le langage C ou C++ ainsi que les commandes Linux.

logo ouformer
Réalisation :Definima
Utilisation des cookies

Nous utilisons des cookies pour vous fournir l'ensemble de nos services, notamment la recherche et les alertes. En acceptant, vous consentez à notre utilisation de ces cookies.

Tout refuser
Tout accepter