Chargement...
 

Historique: FormationLinuxEmbarqueOlimexA20

Aperçu de cette version: 1

Presentation

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

Public

-Public :- Développeurs Linux
-Prérequis :- Connaître le C ou le C++
- Connaître les commandes de base Linux

Teaching organization

-Duration : 3 days (21 hours)
-Hours : 9h00-12h00 13h00-17h00
-Rythm : Continue ou fragmentée
-Mode : Inter ou intran entreprise
-Location : Sur site ou en centre de formation

Pedagogic objectives

 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

!!!!!!!!  Exercice : construction de la librairie eglibc

 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

 Divers

 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

Environment

-Pedagogic :PDF Training support (282 pages) PDF 
-Technical :- PC sous Linux
- Cartes Olimex A20 
-Human :Développeur Master2 de plus de dix ans d'expérience

Control

-Control of execution :Fiche d'appréciation remplie par les stagiaires
-Evaluation method :Fiche d'évaluation

Historique

Information Version
sam. 10 Mar 2018 19h04 gilles 16
lun. 05 Mar 2018 23h32 gilles 15
lun. 05 Mar 2018 00h50 gilles 14
dim. 04 Mar 2018 19h24 gilles 13
dim. 04 Mar 2018 19h22 gilles 12
dim. 04 Mar 2018 19h18 gilles 11
dim. 04 Mar 2018 19h16 gilles 10
dim. 04 Mar 2018 19h14 gilles 9
dim. 04 Mar 2018 17h35 gilles 8
dim. 04 Mar 2018 17h23 gilles 7
dim. 04 Mar 2018 17h11 gilles 6
dim. 04 Mar 2018 17h07 gilles 5
dim. 04 Mar 2018 17h04 gilles 4
dim. 04 Mar 2018 12h59 gilles 3
dim. 04 Mar 2018 12h56 gilles 2
dim. 04 Mar 2018 12h11 gilles 1

Changer de langue

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

Recherche