Accueil - Connexion

Linux Embarqué

3EAH5 Linux Embarqué Electronique et Physique appliquée S9
Cours : 15 h TD : 0 h TP : 33 h Projet : 0 h Total : 48 h
Responsable : Hugo Descoubes
Pré-requis
- Fortes bases en langages procéduraux, langages compilés et langage C
- Fortes bases en outils de développement logiciel (environnement de programmation, shell UNIX, makefile, chaîne de compilation, scripts bash)
- Fortes bases en développement sur processeur numérique à architecture CPU (Central Processing unit). MCU's, DSP's, SoC's ...
- Fortes bases sur systèmes d'exploitation temps réel (RTOS)
Objectifs de l'enseignement
Découvrir les notions de développement bas niveau (drivers, génération de distribution custom ...) sur système d'exploitation évolué dans le domaine des systèmes embarqués. Nous nous intéresserons particulièrement aux systèmes GNU/Linux.
Programme détaillé
*** Développement Linux en espace user (Philippe Lefebvre, ENSICAEN) :

- Système GNU/Linux
- Shell UNIX et script bash
- Développement système et programmation concurrente (API POSIX, Processus, Thread et IPC).

*** Génération de Board Support Package Linux custom (Hugo Descoubes, ENSICAEN) :

- Historique des systèmes UNIX et distro GNU/Linux
- Développement sur BeagleBone Black (SoC AM3350)
- Architecture d'un Système Linux
- ABI Linux pour l'embarqué
- Bootloader (uboot, tftp and mmc boot)
- Customisation du kernel pour une application CAN (services monolithiques et modulaires)
- Customisation du Device tree (support d'interfaces CAN)
- Développement de patch kernel
- Génération d'un rootfs custom (Buildroot, Yocto)
- Linux Temps Réel (PREEMPT_RT, Xenomai)
- Sensibilisation au fast boot sous Linux

*** Développement de drivers Linux (André lépine, ingénieur NXP) :

- Espace Kernel (bibliothèques et services kernel)
- Développement de drivers Linux
- Drivers Réseaux
Applications (TD ou TP)
Les différents développements seront réalisés sur plateforme BeagleBone black embarquant un processeur application AM355x proposé par Texas Instruments :

- Développement multi-tâches en espace user sous environnement PC
- Installation des outils
- Cross compilation et ABI pour système GNU/Linux
- Customisation du kernel et du device tree
- Génération de root file system (buildroot, Yocto)
- Intégration de modules
- Développement système
- Développement de drivers CAN
- Développement de drivers réseaux
Compétences acquises
- Développement sous systèmes GNU/Linux
- cross compilation linux
- génération et customisation de distribution linux custom
- Développement en espace Kernel
- Développement de drivers Linux
Bibliographie
- Free Electrons, société française de développement, services et formation autour de Linux embarqué : http://free-electrons.com/
- Archives du kernel Linux : https://www.kernel.org/
- Livre Linux Embarqué de Pierre Ficheux et édité par eyrolles : http://www.eyrolles.com/Informatique/Livre/linux-embarque-9782212134827
- Cours en ligne proposé par l’ENST Bretagne de Jean-Marie Gilliot : http://public.enst-bretagne.fr/~jgilliot/linux/LinuxEmbarque.html
- Cours en ligne proposé par l’ENSEIRB-MATMECA de Patrice Kadionik : http://kadionik.vvv.enseirb-matmeca.fr/

© 2017 - ENSICAEN ( Mentions Légales - Crédits )