Chargement...
 

Historique: FormationLinuxEmbarqueOlimexA20

Aperçu de cette version: 8

Linux Embarqué sur carte Olimex A20

Présentation

  • 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

Organisation matérielle

  • Durée : 3 jours (21 heures)
  • Horaires : 9h00-12h00 13h00-17h00
  • Rythme : Continue ou fragmentée
  • Mode : Inter ou intran entreprise
  • Lieux de formation: Sur site ou en centre de formation

Objectifs pédagogiques

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

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

Environnement

  • Aspects pédagogiques : PDF Training support (282 pages)
  • Moyens techniques :
    • PC sous Linux
    • Cartes Olimex A20
  • Moyen humains : Développeur Master2 de plus de dix ans d'expérience

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

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