Linux Embarqué sur carte Olimex A20
Présentation
- Description : Développement Linux embarqué sur carte Olimex A20
- Objectifs :
- Apprendre à installer une distribution Linux taillée sur mesure pour un équipement Olimex A20 au moyen de Buildroot
- Comprendre l'architecture Linux pour effectuer réglages et modifications
- Savoir développer sur la carte embarquée Olimex A20
Public
- Public :
- Développeurs Linux
- Chefs de projets LInux embarqué
- Prérequis :
- Connaître le C ou le C++
- Connaître les commandes de base 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 (282 pages)
- Moyens techniques :
- PC sous Linux
- Cartes Olimex A20
- 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
Olimex
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
- La carte Olimex A20
- Composants
- La carte Olimex A20 dessous
- Les ressources
- Utilisation de la connexion UART0
- Connection par le port série ou USB
Installation de base
- Principe d'installation
- Formatage via fdisk
- Principe d'installation
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 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
- Compilation de Buildroot pour Olimex
- 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
- Contraintes temps réel
- Préparation de la carte Micro SD
- Agrandir la partition à toute la mémoire SD
- Divers réglages
- Customiser la cible
Services
Paramètres spécifiques
- Connexion sécurisée avec SSH et transferts de fichiers par SCP
- Configuration de l’ordonnanceur
- Exemples lignes cron
- Clavier français
- Notes à propos des modifications de configuration buildroot
Services réseau supplémentaires
- Le répertoire /boot
- 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
Divers
Debuguer à distance
- Debug croisé
- Installation sur l'équipement distant
- Mise en route sur l'équipement host
- Remarques sur le debug croisé
Programmation du GPIO
- Le GPIO sur la carte Olimex A20
- Lire sur un port GPIO en ligne de commande
- Écrire sur un port GPIO en ligne de commande
- Lecture et écriture sur un port GPIO en C
Dates et tarifs
Inter entreprises
- Tarif : 2000 HT
- Dates : Consultez moi
Intra entreprise
- Région parisienne : 5200 HT
- Autres zones : 5200 HT + Frais de déplacement
- Dates : Consultez moi
Centres de formation partenaires
- Dates : Consultez moi