Module E4 : Systmes temps-rel Audrey Marchand 2005-2006 2 Plan du cours Module E4 : Systmes temps-rel Audrey Marchand 2005-2006 Quest-ce quun systme embarqu ? Les solutions embarques classiques Linux embarqu : une solution attrayante ? Mthodologie de cration dun systme Linux embarqu Implantation dun Linux embarqu sur une cible Les offres Linux embarqu 3 Module E4 : Systmes temps-rel Audrey Marchand 2005-2006 Quest-ce quun systme embarqu ? - Dfinition - Caractristiques gnrales - Domaines dapplications - Exemples 4 Module E4 : Systmes temps-rel Audrey Marchand 2005-2006 - Un systme embarqu (embedded system) est un systme ou un priphrique informatique qui assure une fonction ddie et qui est gnralement conu pour tre utilis avec une application logicielle spcifique - Synonyme : systme enfoui - Les systmes embarqus sont en gnral utiliss dans un environnement matriel contraint ex : Tableau de bord dun vhicule gr par un programme embarqu Quest-ce quun systme embarqu ? Dfinition 5 Module E4 : Systmes temps-rel Audrey Marchand 2005-2006 - Un systme embarqu doit tre : - spcifique - fiable - scuris - optimis - modulaire - adaptable - configurable - maintenable dans le temps Quest-ce quun systme embarqu ? Caractristiques gnrales 6 Module E4 : Systmes temps-rel Audrey Marchand 2005-2006 - Produits de grande consommation Quest-ce quun systme embarqu ? Domaines dapplications - Electronique grand public - Automobile - Tlcommunications - Avionique, spatial - Rseaux et priphriques informatiques - Contrle de processus industriels - Systmes mdicaux 7 Module E4 : Systmes temps-rel Audrey Marchand 2005-2006 - Fonctionnalits embarques dans le tlphone portable : Quest-ce quun systme embarqu ? Exemples (1) 8 Module E4 : Systmes temps-rel Audrey Marchand 2005-2006 - Fonctionnalits embarques dans lautomobile de demain : Quest-ce quun systme embarqu ? Exemples (2) Tlmtre laser Alternateur Actionneur dacclrateur Badge hyperfrquence Ecran Camra Ecran de vision de nuit Antenne Rcepteur GPS Emetteur-rcepteur infrarouge Batterie supplmentaire Calculateur de navigation Calculateur dinterface homme/machine Calculateur de direction Actionneur de direction Calculateur de traitement dimages Actionneur des freins Projecteurs infrarouges 9 Module E4 : Systmes temps-rel Audrey Marchand 2005-2006 - Empreinte mmoire en fonction du type dapplication embarque : Quest-ce quun systme embarqu ? Empreinte mmoire des systmes embarqus 0.1 0.5 0.5 2 2 8 8 32 64 ou plus Plusieurs centaines Plusieurs milliers ROM En Mo Moins de 0.1 0.1 4 2 8 8 32 16 64 32 128 128 ou + RAM En Mo Profondment enfoui Emb. Typique Emb. Moyen Emb. Gros PC emb. Desktop Serveur Produit Linux embarqu Pierre Ficheux, Edt Eyrolles, 2000 10 Module E4 : Systmes temps-rel Audrey Marchand 2005-2006 Les solutions embarques classiques - VxWorks - Windows CE - pSOS+ - QNX - Nucleus - C/OS II - eCOS http://www.windriver.com http://www.qnx.com http://www.ucos-ii.com http://www.microsoft.com/windows/embedded http://www.acceleratedtechnology.com http://ecos.sourceware.org http://www.windriver.com 11 Module E4 : Systmes temps-rel Audrey Marchand 2005-2006 - Distribu par Microsoft Les solutions embarques classiques Windows CE - Performances (Pentium200MHz) : - Temps moyen de changement de contexte : 34.4 s - Temps moyen de latence aux interruptions : 9.5 s - Caractristiques : - Variante du systme dexploitation Windows pour les systmes embarqus - cibles supportes : ARM, MIPS, PowerPC, SH, x86 - conforme la dfinition dun OS temps-rel (temps de latence aux interruptions dterministe) 12 Module E4 : Systmes temps-rel Audrey Marchand 2005-2006 - Distribu par Accelerated Technology Inc. Les solutions embarques classiques Nucleus - Caractristiques : - Systme dexploitation temps-rel - Gratuit et livr avec les sources - Cibles supportes : 68k, x86, ARM, ColdFire, DSP, SH, MIPS, PowerPC, SPARC, MicroBlaze, Xscale, - Le noyau inclut : - une couche TCP/IP - une interface graphique - un navigateur Web - un serveur HTTP 13 Module E4 : Systmes temps-rel Audrey Marchand 2005-2006 Les solutions embarques classiques eCOS - eCOS : embedded Configurable Operating System - Systme dexploitation temps-rel conu pour les applications embarques - Gratuit - cibles supportes : ARM, CalmRISC, FR-V, H8, IA32, M68K, Matsushita AM3x, MIPS, NEC V8xx, PowerPC, SPARC, SuperH - Depuis mai 2002 : distribu sous la eCos Licence (GPL-compatible Free Software License) As a special exception, if other files instantiate templates or use macros or inline functions from this file, or you compile this file and link it with other works to produce a work based on this file, this file does not by itself cause the resulting work to be covered by the GNU General Public License. However the source code for this file must still be made available in accordance with section (3) of the GNU General Public License. This exception does not invalidate any other reasons why a work based on this file might be covered by the GNU General Public License 14 Module E4 : Systmes temps-rel Audrey Marchand 2005-2006 Linux embarqu, une solution attrayante ? - La position des industriels vis--vis du march - Linux pour lembarqu - Positionnement de Linux sur le march de lembarqu 15 Module E4 : Systmes temps-rel Audrey Marchand 2005-2006 Linux embarqu : une solution attrayante ? Position vis--vis des licences propritaires Snapshot of the Embedded Linux market La position des industriels vis--vis du march - Consentez-vous payer des royalties pour un OS embarqu ? en 2005 en 2004 en 2003 16 Module E4 : Systmes temps-rel Audrey Marchand 2005-2006 Linux embarqu : une solution attrayante ? Position vis--vis des services offerts Snapshot of the Embedded Linux market La position des industriels vis--vis du march - Consentez-vous payer pour un support/service de dveloppement ? en 2005 en 2004 en 2003 17 Module E4 : Systmes temps-rel Audrey Marchand 2005-2006 Linux embarqu : une solution attrayante ? Facteurs influant sur le choix dun OS embarqu La position des industriels vis--vis du march Snapshot of the Embedded Linux market - March, 2004 18 Module E4 : Systmes temps-rel Audrey Marchand 2005-2006 Linux embarqu : une solution attrayante ? Facteurs influant sur le choix de Linux pour lembarqu La position des industriels vis--vis du march 19 Module E4 : Systmes temps-rel Audrey Marchand 2005-2006 Linux embarqu : une solution attrayante ? Quelques dates cls Linux pour lembarqu - 1999 : Linux embarqu apparat pour la 1re fois officiellement une exposition Linux World - 2000 : cration du consortium Linux embarqu (Embedded Linux Consortium) regroupant : - des diteurs de distributions Linux - des diteurs de systmes temps-rel propritaires - des fabricants de composants 20 Module E4 : Systmes temps-rel Audrey Marchand 2005-2006 Linux embarqu : une solution attrayante ? Description Linux pour lembarqu - Linux embarqu est une adaptation du noyau Linux un systme embarqu - Les fonctionnalits du noyau Linux embarqu sont adaptes aux capacits du systme embarqu : - Moins de mmoire requise - Moins de services disponibles - Boot depuis une mmoire ROM (FLASH) - Pas de clavier ou de souris requis - Une version de Linux embarqu peut tre configure la carte pour fonctionner sur une plateforme donne 21 Module E4 : Systmes temps-rel Audrey Marchand 2005-2006 Linux embarqu : une solution attrayante ? Points forts de Linux pour lembarqu (1) Linux pour lembarqu - Faible cot - Fiabilit - Performances - Ouverture - Portabilit - Modularit - Adaptabilit - Configurabilit 22 Module E4 : Systmes temps-rel Audrey Marchand 2005-2006 Linux embarqu : une solution attrayante ? Points forts de Linux pour lembarqu (2) Linux pour lembarqu 23 Module E4 : Systmes temps-rel Audrey Marchand 2005-2006 Linux embarqu : une solution attrayante ? Points faibles de Linux pour lembarqu (1) Linux pour lembarqu - Mconnaissance des licences - Crdibilit de lopen-source - Support technique - Support temps-rel - Outils de dveloppement 24 Module E4 : Systmes temps-rel Audrey Marchand 2005-2006 Linux embarqu : une solution attrayante ? Points faibles de Linux pour lembarqu (2) Linux pour lembarqu 25 Module E4 : Systmes temps-rel Audrey Marchand 2005-2006 Linux embarqu : une solution attrayante ? Distribution des parts du march Positionnement de Linux sur le march de lembarqu - Quel systme avez-vous utilis pour vos applications embarques ces 2 dernires annes ? Lequel utiliserez-vous ces 2 prochaines annes ? Snapshot of the Embedded Linux market - May, 2005 26 Module E4 : Systmes temps-rel Audrey Marchand 2005-2006 Linux embarqu : une solution attrayante ? La place croissante de Linux embarqu - Utilisation (actuelle et envisage) de Linux sur ces 5 dernires annes : Snapshot of the Embedded Linux market - May, 2005 Positionnement de Linux sur le march de lembarqu 27 Module E4 : Systmes temps-rel Audrey Marchand 2005-2006 Linux embarqu : une solution attrayante ? La progression de lusage de Linux embarqu - Croissance estime du march Linux embarqu : VDC (Venture Development Corporation) market research - August, 2004 Positionnement de Linux sur le march de lembarqu 28 Module E4 : Systmes temps-rel Audrey Marchand 2005-2006 Les offres Linux embarqu - Les distributions Linux classiques - Les distributions Linux embarqu commerciales - Les distributions Linux embarqu libres - La rpartition des distributions sur le march - Quelques exemples de produits utilisant Linux 29 Module E4 : Systmes temps-rel Audrey Marchand 2005-2006 Les offres Linux embarqu Les distributions classiques Les distributions Linux classiques - Debian http://www.debian.org - RedHat http://www.fr.redhat.com - Mandrake http://www.linux-mandrake.com - SuSe http://www.suse.de/fr - Slackware http://www.slackware.com - Installation dune version dulcore dune distribution classique pour de lembarqu haute disponibilit (taille RAM > 64Mo, taille ROM >150Mo) 30 Module E4 : Systmes temps-rel Audrey Marchand 2005-2006 Les offres Linux embarqu Les revendeurs commerciaux en Linux embarqu Les distributions Linux embarqu commerciales - Montavista (Montavista Linux) - Metrowerks (Creation Suite for Linux) - LynuxWorks (BlueCat - BlueCat RT) - RedHat (Embedded) - FSMLabs (RTLinuxPro) - TimeSys (Linux RT) - Koan (Klinux) - REDSonic (REDICE-Linux) - VxWorks (Commercial Grade Linux) 31 Module E4 : Systmes temps-rel Audrey Marchand 2005-2006 Les offres Linux embarqu Rpartition de lusage des distributions Linux commerciales Les distributions Linux embarqu commerciales Snapshot of the Embedded Linux market - May, 2005 32 Module E4 : Systmes temps-rel Audrey Marchand 2005-2006 Les offres Linux embarqu Les distributions Linux embarqu libres Les distributions Linux embarqu libres - RTAI - RTLinuxFree - KURT - OpenEmbedded - Clinux - Embedded Debian Project - PeeWee Linux - EtLinux 33 Module E4 : Systmes temps-rel Audrey Marchand 2005-2006 Les offres Linux embarqu Rpartition de lusage des distributions Linux libres Les distributions Linux embarqu libres Snapshot of the Embedded Linux market - May, 2005 34 Module E4 : Systmes temps-rel Audrey Marchand 2005-2006 Les offres Linux embarqu Rpartition de lusage de lensemble des distributions Linux La rpartition des distributions sur le march Snapshot of the Embedded Linux market - May, 2005 35 Module E4 : Systmes temps-rel Audrey Marchand 2005-2006 Les offres Linux embarqu Produits base de Linux embarqu (1) Quelques exemples de produits utilisant Linux - Phatnoise PhatBox -- un autoradio avec disque dur - D-Link MediaLounge DSM-320 -- un lecteur multimdia sans fil - iRiver PMC-120 -- un lecteur multimedia portable - Linksys Wireless-G WRT54G -- Routeur sans fil-G haut dbit 36 Module E4 : Systmes temps-rel Audrey Marchand 2005-2006 Les offres Linux embarqu Produits base de Linux embarqu (2) Quelques exemples de produits utilisant Linux - Motorola E895 -- un tlphone mobile tri-bande GSM, GPRS et EDGE - Nokia 770 Internet Tablet -- un PDA-tablet PC - Tivo Series 2 -- un magntoscope numrique -TomTom GO -- un navigateur GPS pour automobile 37 Module E4 : Systmes temps-rel Audrey Marchand 2005-2006 Mthodologie de cration dun Linux embarqu * - Mthodologie gnrale - Rappels sur la structure de Linux - Construction du systme de base * daprs Linux embarqu Pierre Ficheux, Editions Eyrolles, 2000 38 Module E4 : Systmes temps-rel Audrey Marchand 2005-2006 Mthodologie de cration dun Linux embarqu Gnralits Rappels sur la structure de Linux - Un systme Linux est compos de 3 parties : - le noyau (kernel) - la libc, bibliothque principale pour les applications - les applications (ou commandes) - le bootstrap, programme (chargeur) de dmarrage - Le systme Linux est charg en mmoire grce un logiciel situ dans le MBR : 39 Module E4 : Systmes temps-rel Audrey Marchand 2005-2006 Mthodologie de cration dun Linux embarqu La squence de dmarrage Rappels sur la structure de Linux - chargement du systme par un chargeur de dmarrage (ex: LILO, GRUB) - chargement du noyau Linux - lancement du programme dinitialisation / sbi n/ init - exploration du fichier / et c/ inittab contenant le chemin daccs au script de dmarrage final du systme - Elle est toujours la mme : 40 Module E4 : Systmes temps-rel Audrey Marchand 2005-2006 Mthodologie de cration dun Linux embarqu Les rpertoires principaux Rappels sur la structure de Linux - /bin : principales commandes utilisateur - /boot : noyaux et chargeurs du systme - /dev : pseudo-fichiers des pilotes (devices) - /etc : fichiers de configuration - /lib : bibliothques partages et modules - /mnt : points de montages - /opt : applications externes - /sbin : principales commandes systme - /tmp : fichiers temporaires - /usr : hirarchie secondaire - /var : donnes variables 41 Module E4 : Systmes temps-rel Audrey Marchand 2005-2006 Mthodologie de cration dun Linux embarqu Diffrentes mthodes de construction Mthodologie gnrale - Distribution standard - LFS : Linux From Scratch - LFS sur la base dune distribution standard - Utilisation dune distribution GNU/Linux du commerce - Pb : espace disque consquent (minimum 100Mo) - Construction du systme GNU/Linux en se basant uniquement sur les sources des programmes - Investissement important - Construction du systme en se basant sur les applications dune distribution standard 42 Module E4 : Systmes temps-rel Audrey Marchand 2005-2006 Mthodologie de cration dun Linux embarqu LFS sur la base dune distribution standard Construction du systme de base - Etapes cls de construction partir dune distribution standard : 1) Assimiler le fonctionnement du systme Linux 2) Extraire les lments essentiels du systme 3) Assemblage des composants pour la construction de la cible finale 43 Module E4 : Systmes temps-rel Audrey Marchand 2005-2006 Mthodologie de cration dun Linux embarqu Les diffrentes phases de construction Construction du systme de base - Cration des rpertoires - Cration des nuds sur /dev - Remplissage de /bin et /sbin - Cration des bibliothques sur /lib - Remplissage du rpertoire /etc - Configuration du noyau - Compilation du noyau - Installation du noyau 44 Module E4 : Systmes temps-rel Audrey Marchand 2005-2006 Mthodologie de cration dun Linux embarqu Cration des rpertoires Construction du systme de base - Cration dun certain nombre de rpertoires indispensables : /bin /boot /dev /etc /lib /proc /root /sbin /tmp /usr /var - Cration dun certain nombre de rpertoires utiles : /usr/lib/kdb/keytables /var/log /var/run /etc/sysconfig 45 Module E4 : Systmes temps-rel Audrey Marchand 2005-2006 Mthodologie de cration dun Linux embarqu Cration des nuds sur /dev Construction du systme de base - /dev : regroupe les points dentres (nuds) vers le matriel : - / dev/ cdrom : accs au lecteur CD - / dev/ fd0 : accs au lecteur de disquettes - / dev/ hdaN : accs la Nime partition du disque dur matre - / dev/ hdbN : accs la Nime partition du disque dur esclave - / dev/ sda1 : accs au port USB - / dev/ mouse : accs la souris - / dev/ console : accs un terminal Linux 46 Module E4 : Systmes temps-rel Audrey Marchand 2005-2006 Mthodologie de cration dun Linux embarqu Remplissage de /bin et /sbin Construction du systme de base - Copie des programmes indispensables au dmarrage dun systme minimal : / sbi n/ init / sbi n/ update / bi n/ mount / bi n/ rm / bi n/ sh 47 Module E4 : Systmes temps-rel Audrey Marchand 2005-2006 Mthodologie de cration dun Linux embarqu Cration des bibliothques sur /lib Construction du systme de base - Cration des bibliothques partages utilises par les commandes prcdentes utilisation du script automatique mklibs.sh issu du projet DEBIAN - cre un graphe des dpendances de larborescence des excutables et des librairies - cre une version des librairies dbarrasse des modules inutiles 48 Module E4 : Systmes temps-rel Audrey Marchand 2005-2006 Mthodologie de cration dun Linux embarqu Remplissage du rpertoire /etc Construction du systme de base - La version minimale du rpertoire / et c contient les fichiers suivants : / et c/ termcap / et c/ inittab / et c/ rc.d/rc.S / et c/ fstab / et c/ lilo.conf 49 Module E4 : Systmes temps-rel Audrey Marchand 2005-2006 Mthodologie de cration dun Linux embarqu Configuration du noyau (1) Construction du systme de base # make xconfig 50 Module E4 : Systmes temps-rel Audrey Marchand 2005-2006 Mthodologie de cration dun Linux embarqu Configuration du noyau (2) Construction du systme de base - Configuration gnrale : 51 Module E4 : Systmes temps-rel Audrey Marchand 2005-2006 Mthodologie de cration dun Linux embarqu Configuration du noyau (3) Construction du systme de base - Choix du processeur cible : 52 Module E4 : Systmes temps-rel Audrey Marchand 2005-2006 Mthodologie de cration dun Linux embarqu Configuration du noyau (4) Construction du systme de base - Choix des systmes de fichiers supports : 53 Module E4 : Systmes temps-rel Audrey Marchand 2005-2006 Mthodologie de cration dun Linux embarqu Compilation du noyau Construction du systme de base - Construction des dpendances des fichiers : - Compilation du noyau : - Compilation des modules chargeables dynamiquement : # make dep # make bzImage # make modules 54 Module E4 : Systmes temps-rel Audrey Marchand 2005-2006 Mthodologie de cration dun Linux embarqu Installation du noyau Construction du systme de base - Installation des modules chargeables dynamiquement : - Installation du noyau dans le rpertoire /boot : # make modules_install - copie du noyau compress bzImage - copie du fichier System.map (listes des adresses internes du noyau) 55 Module E4 : Systmes temps-rel Audrey Marchand 2005-2006 Implantation dun Linux embarqu sur une cible - Transfert du Linux embarqu sur la cible - Configuration du chargeur de dmarrage LILO - Cration dune disquette de dmarrage - Implantation finale sur le systme cible 56 Module E4 : Systmes temps-rel Audrey Marchand 2005-2006 Implantation dun Linux embarqu sur une cible Configuration de LILO (LInux LOader) Configuration du chargeur de dmarrage LILO - LILO est configurable par un fichier unique / et c/ lilo.conf : boot =/ dev/ hda map=/ boot / map i nst al l =/ boot / boot . b pr ompt t i meout =50 def aul t =monl i nuxembar que image=/boot/bzImage label=monlinuxembarque read-only root=/dev/hda2 - La validation de la configuration seffectue par lappel de commande / sbi n/ lilo 57 Module E4 : Systmes temps-rel Audrey Marchand 2005-2006 Implantation dun Linux embarqu sur une cible Transfert du systme sur la cible Transfert du Linux embarqu sur la cible - Copie de larborescence cre sur le systme hte, vers le systme embarqu : # cp Rdp source destination Gestion correcte des fichiers spciaux (/ dev) Prservation des liens symboliques Conservation des caractristiques des fichiers originaux 58 Module E4 : Systmes temps-rel Audrey Marchand 2005-2006 Implantation dun Linux embarqu sur une cible Cration dune disquette bootable Cration dune disquette de dmarrage - Copie de limage du noyau sur la disquette : # dd < /boot/bzImage > /dev/fd0 - Spcification de lemplacement du systme de fichier principal sur le systme embarqu : # rdev /dev/fd0 /dev/hda3 # rdev R /dev/fd0 1 - Montage du systme de fichier principal en lecture seule : 59 Module E4 : Systmes temps-rel Audrey Marchand 2005-2006 Implantation dun Linux embarqu sur une cible Implantation dun systme cible bootable Implantation finale sur le systme cible - Ecriture de la configuration dans le secteur de dmarrage du systme cible : # lilo - La cration et limplantation du systme Linux embarqu sont termines ! 60 Module E4 : Systmes temps-rel Audrey Marchand 2005-2006 Rfrences - Portail communautaire gnral : http://www.realtimelinux.org - Portail Linux embarqu : http://www.linuxdevices.com - Portail plus jeune : http://www.realtimelinuxfoundation.org - RTAI : http://aero.polimi.it/projects/rtai - Portail communautaire RTAI : http://www.rtai.org - RTLinuxPro : http://www.fsmlabs.com - Portail communautaire RTLinuxFree : http://www.rtlinuxfree.com - Linux Trace Toolkit : http://opersys.com/LTT - Logiciel Libre : http://www.openresources.com