systeme de supervison

118
Conception d’un système embarqué pour la supervision des ateliers Projet de Fin d’Etude Réaliser par : YOUSSEF FARES Encadrer par : Mr. Laurent Laffont La société TEMIS Mr. Hamdi Abdelaziz L’école national des ingénieurs de Sousse 2008 Youssef Fares L’ecole national des ingénieurs de Sousse 07/06/2008

Upload: azizhamdi

Post on 22-Nov-2015

43 views

Category:

Documents


6 download

TRANSCRIPT

  • Conception dun systme embarqu pour la supervision des ateliers

    Projet de Fin dEtude

    Raliser par :

    YOUSSEF FARES

    Encadrer par :

    Mr. Laurent Laffont La socit TEMIS

    Mr. Hamdi Abdelaziz Lcole national des ingnieurs de Sousse

    2008

    Youssef Fares

    Lecole national des ingnieurs de Sousse

    07/06/2008

  • ETUDE, CONSEIL ET REALISATION DE SYSTEMES ELECTRONIQUES ET MECANIQUES

    Table de matire 2

  • ETUDE, CONSEIL ET REALISATION DE SYSTEMES ELECTRONIQUES ET MECANIQUES

    Table de matire 3

    Remerciement

    Avant dentamer ce rapport de projet de fin dtudes, je tenais exprimer mon sincre gratitude envers tous ceux qui mont aid ou ont particip au bon droulement de ce projet. Je tenais remercier :

    - Toute ma famille qui ma t toujours la garante dune existence paisible et dun avenir radieux, mon pre, ma mre, mon frre Idris mes surs Marieme et Samia.

    - Tous ceux qui sont toujours dans mes penses.

    - Ceux qui ont fait de leur mieux pour me soutenir durant ce travail :Mon oncle Moktar et sa femmeMon oncle HediMes adorables amis : Meher mokadem, Kahled hajaji, Lassed Hajem, Mohamed Brahem, Hamdi Bn-Hdajmbarek

    - La socit TEMIS qui ma accueilli. Je devais remercier Mr. Laurent Laffont pour sa gnrosit, sa comprhension et son aide inestimable et Mr. Laurent Terrier le directeur de lentreprise. Je suis reconnaissant galement M. Hamdi Abdelaziz, mon encadreur sans oublier tout mes professeurs, dont Jexprimons mes sentiments de gratitude tous mes professeurs et tous ceux qui mont aid ou encadr pour mavoir transmis leur savoir et leur savoir faire dans les meilleures conditions possibles.

  • ETUDE, CONSEIL ET REALISATION DE SYSTEMES ELECTRONIQUES ET MECANIQUES

    Table de matire 4

    Table de matireTable de matire................................................................................................................................................ 4

    Table de figures ................................................................................................................................................. 7

    Table des Images ............................................................................................................................................... 8

    Table de tableaux .............................................................................................................................................. 8

    Introduction ...................................................................................................................................................... 9

    Section 1 Prsentation ..................................................................................................................................... 10

    Chapitre 1 Prsentation de TEMIS et son produit IGM50..................................................................................... 10

    1 Prsentation de TEMIS ................................................................................................................................. 10

    2 Le produit IGM50 ......................................................................................................................................... 10

    Chapitre 2 Le systme IGM50 ............................................................................................................................. 11

    1 Principe de fonctionnement ......................................................................................................................... 11

    2 Le terminale IGM50 ..................................................................................................................................... 13

    Section 2 Prsentation et dfinition des besoins............................................................................................... 15

    chapitre 1. Le concept IGM2.O : Ide et Objectifs .......................................................................................... 15

    1 Lide de projet IGM2.0................................................................................................................................ 15

    2 Lobjectifs de IGM2.0 ................................................................................................................................... 15

    2.1 Objectifs ............................................................................................................................................ 15

    2.2 Description de concept IGM2.0.......................................................................................................... 16

    chapitre 2. Prsentation de terminale IGM2.0 ............................................................................................... 18

    1 Prsentation ................................................................................................................................................ 18

    2 IGM2.0 est un systme embarqu................................................................................................................ 19

    2.1. Caractristiques de systmes embarqus..................................................................................... 19

    Faible cot........................................................................................................................................... 19

    Faible consommation .......................................................................................................................... 19

    Faible encombrement et faible poids................................................................................................... 19

    Fonctionnement en Temps Rel (Rponse de temps) .......................................................................... 19

    Environnement.................................................................................................................................... 20

    2.2. Architecture gnrale de IGM2.0 ................................................................................................. 20

    Section 3 Outils de dveloppement.................................................................................................................. 22

    1 Introduction................................................................................................................................................. 22

    Chapitre 1 Les environnements de dveloppement ............................................................................................ 22

    1 Dfinitions ................................................................................................................................................... 22

  • ETUDE, CONSEIL ET REALISATION DE SYSTEMES ELECTRONIQUES ET MECANIQUES

    Table de matire 5

    2 ELDK- Embedded Linux Development Kit...................................................................................................... 24

    3 Buildroot...................................................................................................................................................... 24

    4 OpenEmbedded ........................................................................................................................................... 25

    5 Poky Linux.................................................................................................................................................... 25

    Pourquoi poky ? .................................................................................................................................. 26

    Chapitre 2 La carte et les autres outils ................................................................................................................ 26

    1 La carte AT91SAM9260-EK ........................................................................................................................... 26

    2 Les autres outils ........................................................................................................................................... 27

    2.1 QEMU Emulateur Lenvironnement dmulation............................................................................... 27

    2.2 SVN un logiciel de gestion de versions.............................................................................................. 28

    2.3 NFS.................................................................................................................................................... 28

    Section 4 Solutions techniques......................................................................................................................... 29

    chapitre 1. Linux notre systme dexploitation embarqu............................................................................. 29

    1 Pour quoi un systme dexploitation ............................................................................................................ 29

    2 Pourquoi Linux ? .......................................................................................................................................... 29

    2.1 Prix.................................................................................................................................................... 29

    2.2 "Source code" disponible et gratuit ................................................................................................... 30

    2.3 Beaucoup de pilotages et outils de dveloppement disponibles ........................................................ 30

    2.4 Plein d'applications............................................................................................................................ 30

    2.5 Support de rseau ............................................................................................................................. 30

    2.6 La multitude des architecture support ............................................................................................. 30

    2.7 Le march.......................................................................................................................................... 31

    Chapitre 2 Linux un systme dexploitation pour lembarqu, comment ? .......................................................... 32

    1 Introduction................................................................................................................................................. 32

    2 Architecture de linux.................................................................................................................................... 32

    2.1 Chargeur de dmarrage ou le bootloader .......................................................................................... 33

    2.2 Noyau................................................................................................................................................ 33

    2.3 Pilotes de priphrique...................................................................................................................... 34

    2.4 Systme de fichiers............................................................................................................................ 34

    2.5 Bibliothques (Librairies) ................................................................................................................... 34

    2.6 Utilitaires de base.............................................................................................................................. 34

    2.7 Les applications ................................................................................................................................. 34

    3 Optimisation ................................................................................................................................................ 34

  • ETUDE, CONSEIL ET REALISATION DE SYSTEMES ELECTRONIQUES ET MECANIQUES

    Table de matire 6

    3.1 Loptimisation de systme de fichier.................................................................................................. 35

    3.2 Suppression du swapping .................................................................................................................. 36

    3.3 Optimisation de noyau ...................................................................................................................... 36

    chapitre 2. Les applications et les paquets ncessaires .................................................................................. 38

    1 Introduction................................................................................................................................................. 38

    2 Les applications............................................................................................................................................ 38

    2.1 BusyBox............................................................................................................................................. 38

    2.2 TinyLogin ........................................................................................................................................... 38

    2.3 Temix webkit ................................................................................................................................... 39

    Dfinitions........................................................................................................................................... 39

    Pour quoi webkit ?............................................................................................................................... 39

    2.4 Serveur web ...................................................................................................................................... 39

    3 Les paquets.................................................................................................................................................. 39

    3.1 Base-files ........................................................................................................................................... 39

    3.2 Initscripts........................................................................................................................................... 40

    3.3 xserver-Kdrive-fbdev ......................................................................................................................... 40

    3.4 nfs-utils ............................................................................................................................................. 40

    3.5 libration-fonts.................................................................................................................................. 40

    3.6 Xinit................................................................................................................................................... 40

    3.7 Netbase............................................................................................................................................. 40

    3.8 Udev.................................................................................................................................................. 40

    Section 5 Dveloppement ................................................................................................................................ 41

    1 Introduction................................................................................................................................................. 41

    Chapitre 1 Construction de linux et les applications embarqus.......................................................................... 41

    1 Poky, Comment utiliser ?.............................................................................................................................. 41

    1.1 Installation des paquets ncessaires .................................................................................................. 41

    1.2 Tlchargement de Poky ................................................................................................................... 42

    1.3 Compiler et excuter une image ........................................................................................................ 42

    2 Le portage de linux....................................................................................................................................... 43

    2.1 Etape 1 .............................................................................................................................................. 43

    2.2 Etape2............................................................................................................................................... 44

    2.3 Etape 3 .............................................................................................................................................. 45

    3 Ajout des applications et des paquets......................................................................................................... 45

  • ETUDE, CONSEIL ET REALISATION DE SYSTEMES ELECTRONIQUES ET MECANIQUES

    Table de figures 7

    3.1 Construction de temix-webkit............................................................................................................ 45

    3.2 Configuration de busybox.................................................................................................................. 45

    4 Compilation ................................................................................................................................................. 45

    Chapitre 2 Programmations web et rseaux........................................................................................................ 46

    1 Programmation web .................................................................................................................................... 46

    1.1 Le Dmo web- igm2.0........................................................................................................................ 46

    1.2 JavaScript et les raccourcis des boutons............................................................................................. 47

    1.3 Ajax, rcuprer les valeurs des capteurs ............................................................................................ 47

    2 Programmation rseaux............................................................................................................................... 47

    Chapitre 3 Configuration de la carte et test......................................................................................................... 48

    1 Configuration de la carte.............................................................................................................................. 48

    1.1 Chargement de AT91Bootstrap sur la carte........................................................................................ 48

    1.2 Chargement de u-boot ...................................................................................................................... 50

    2 Test.............................................................................................................................................................. 51

    2.1 Monter et flasher le noyau ................................................................................................................ 51

    2.1.1 Configuration de u-boot.............................................................................................................. 51

    2.1.2 Pour flasher linux ........................................................................................................................ 52

    2.1.3 Pour tlcharger le fichier de systme par nfs............................................................................. 52

    2.2 Lancer les applications....................................................................................................................... 53

    Conclusion....................................................................................................................................................... 55

    Bibliographie ................................................................................................................................................... 56

    Section 6 Les ANNEXES..................................................................................................................................... 57

    Chapitre 1 Annexe A ........................................................................................................................................... 57

    Chapitre 2 ANNEXE B .......................................................................................................................................... 65

    Chapitre 3 ANNEXE C ................................................................................................... Erreur ! Signet non dfini.0

    Table de figuresFigure 1-1 principe de fonctionnement dIGM5O ........................................................................................................................................................ 11Figure 2-1 le projet IGM2.0 ............................................................................................................................................................................................ 16Figure 2-2 le terminale IGM2.0 et ses modules............................................................................................................................................................ 18Figure 2-3 Topologie d'un Systme Embarqu ............................................................................................................................................................. 20Figure 3-1 la compilation crois..................................................................................................................................................................................... 23Figure 3-2 Sato Desktop - Une capture d'cran partir d'un ordinateur excutant Poky built image .................................................................... 25Figure 4-1 Le dveloppement des OSs Embarqus, En 2004....................................................................................................................................... 31

  • ETUDE, CONSEIL ET REALISATION DE SYSTEMES ELECTRONIQUES ET MECANIQUES

    Table des Images 8

    Figure 4-2 l'architecture de linux ................................................................................................................................................................................... 32Figure 4-3 Optimisation de Linux................................................................................................................................................................................... 35Figure 5-1 dmarrage de u-boot.................................................................................................................................................................................... 51

    Table des ImagesImage 1-1 logiciel de suivi de production...................................................................................................................................................................... 12Image 1-2 Suivre de l'tat de machine .......................................................................................................................................................................... 12Image 1-3 Le terminal IGM50 ........................................................................................................................................................................................ 13Image 1-4 Le terminal IGM50 modifi........................................................................................................................................................................... 13Image 3-1 la carte dvaluation AT91SAM9260EK ........................................................................................................................................................ 26Image 5-1l'image de bureau de poky sato .................................................................................................................................................................... 43Image 5-4 un dsigne imagin dIGM2.0....................................................................................................................................................................... 46Image 5-2 menu Arrts dIGM2.0 .................................................................................................................................................................................. 46Image 5-3 menu principale dIGM2.0............................................................................................................................................................................ 46Image 5-5 La position de jumper 7 sur la carte ............................................................................................................................................................ 48Image 5-7 La fentre de SAM-BA................................................................................................................................................................................... 49Image 5-6 Excution de SAM-BA ................................................................................................................................................................................... 49Image 5-8 le Flash Memory map ................................................................................................................................................................................... 50Image 5-9 temix-webkit excuter sur la carte mais exporter saur le pc..................................................................................................................... 54Image 5-10 connexion la carte partir de PC ............................................................................................................................................................ 54Image 6-1 : simulation de system-temix sous qemu.................................................................................................................................................... 69

    Table de tableauxTableau 4-1 Les architectures support par linux .................................................................................................... 30Tableau 4-2 comparaison bootloaders.................................................................................................................... 33Tableau 4-3 Taille de TinyLogin ............................................................................................................................... 38Tableau 4-4 le systme de fichier respectant le standard........................................................................................ 40Tableau 5-1 Les paquets installer pour utiliser poky ............................................................................................. 41

  • ETUDE, CONSEIL ET REALISATION DE SYSTEMES ELECTRONIQUES ET MECANIQUES

    Introduction 9

    Introduction

    Lobjet de ce rapport est le stage de fin dtude ralis en troisime anne lcole national des ingnieurs de Sousse. Le stage tait au sein de la socit TEMIS. Dans l'objectif de satisfaire les nouveaux besoins clients et de s'intgrer dans les nouvelles technologies, la socit TEMIUS dmarre un projet de ralisation d'un nouveau terminal, dont le sujet de mon projet de fin dtude.Dans ce cadre je suis appel, sur une carte avec microcontrleur ARM9, de mettre en uvre : - Un systme dexploitation linux

    - un cran TFT avec dalle tactile- un lecteur RFID- le pilotage d'entres/sorties logiques et d'entres analogiques

    - Raliser un prototype de terminal avec les logiciels suivants:- serveur web- communication TCP/IP avec la supervision- interface graphique via un navigateur Web embarqu

  • ETUDE, CONSEIL ET REALISATION DE SYSTEMES ELECTRONIQUES ET MECANIQUES

    Prsentation 10

    Section 1 Prsentation

    Chapitre 1 Prsentation de TEMIS et son produit IGM50

    1 Prsentation de TEMISLa socit TEMIS est un bureau dtude cre en 1997 et situ la Roche sur Forn (haute Savoie), elle

    comptabilise au total un effectif de 7 personnes, dont le capital est denviron 50 000.

    TEMIS est un bureau dtude spcialis dans linformatique 50% et llectronique 35% mais galement dans la mcanique 15%. Ils imaginent, conoivent et crent tout types de produits ayant un lien avec lun des trois domaines cits. Ils programment des logiciels, pratiquent le hardware et le software, conoivent des circuits imprims, utilisent la CAO en 3D et peuvent fournir des prototypes du projet aux clients le souhaitant. Bien entendu ceci nest quun aperu de leurs comptences mais rsume bien les principales. Ses clients sont des entreprises de la Valle de lArve tel que FCMP, Perrotton, Meister France ou encore Sopil, mais on peut galement compter dans ses clients de grandes socits comme Somfy, SEB, ou encore Tefal mais aussi des socits trangres tel que Swissvoice, ou ALSTOM.

    Bien que travaillant pour de nombreux clients, lactivit principale de la socit est lIGM50. Cest un produit de supervision datelier entirement fourni par TEMIS. Le design mais surtout la programmation de cet appareil a totalement t cre par cette socit. Il quipe de nombreuses socits de la Valle de lArve travaillant dans les domaines du dcolletage, de limprimerie ou encore de la dcoupe laser. Actuellement ce produit se rpand de plus en plus partout en France mais galement ltranger (Suisse, Espagne).

    2 Le produit IGM50Le systme IGM50 est un systme dinterface de gestion de machines qui a pour but de visualiser en

    temps rel ltat dun parc de production et de mmoriser un historique de ltat des machines. Cet historique peut tre ensuite analys pour dterminer les causes darrt les plus frquentes et calculer les indicateurs relatifs la qualit de production de chaque machine ou dun ensemble.

    Le systme IGM50 permet de faire le lien entre le GPAO1 latelier de production les ordre de fabrication (OF) sont transmis de la GPAO vers lIGM50 qui les transmet lui-mme aux operateurs. Le systme IGM50 rend compte de ltat davancement des OF. Toutes les saisies de renseignements sur les OF (nombre de pices produites, rebuts,) sont automatises

    Depuis sa conception, IGM50 a permis :

    - La mise en place dune gestion des contrles de qualit.

    - La possibilit de suivre une production partir dun dbit ou dune vitesse au lieu dun comptage dunits produites.

    - La gestion dun planning des OF mis jour en temps rel en fonction de ltat davancement des produits en cours.

    - La possibilit de visualiser en temps rel lvolution dindicateurs statistiques de production grce au tableau de bord.

    1 Gestion de production assiste par ordinateur

  • ETUDE, CONSEIL ET REALISATION DE SYSTEMES ELECTRONIQUES ET MECANIQUES

    Prsentation 11

    Chapitre 2 Le systme IGM50

    1 Principe de fonctionnement

    ConcentrateurLe concentrateur IGM50 scrute tous les terminaux connects au bus et

    envoie les informations au PC de supervision. Il renvoie toutes les informations avec un horodatage prcis. Il permet galement d'enregistrer les cartes puce pour les oprateurs.

    Logiciel de SupervisionLe PC d'atelier supervise en temps rel toutes les machines connectes.

    Il enregistre dans la base de donnes toutes les informations recueillies dans l'atelier.

    Ceci permet de visualiser en temps rel l'tat de chaque machine: les quantits produites, les arrts et leurs causes, les performances.Toutes les donnes enregistres servent raliser les analyses de production, calculer les indicateurs de production.

    Logiciel d'AnalyseLe logiciel d'analyse traite les informations de la base de donnes issues de

    l'atelier en temps rel et les filtre selon vos critres de choix. Il vous permet de connatre et d'optimiser l'utilisation de vos

    machines.Il analyse les temps d'arrt et de production. Il suit et mesure la productivit des machines, ateliers, ilts,... Il calcule les indicateurs de production normaliss: TRS, TRG, TRE, Taux de charge, Disponibilit oprationnelle, SMED,...

    Logiciel de PlanningEquivalent d'un planning mural, il visualise l'tat d'avancement des

    OF et se met jour en temps rel. Il vous permet de prvoir votre production et optimiser

    l'occupation de vos machines.Il rcupre les informations des OF et les ordonne sur les machines, et permet de dplacer des productions d'une machine l'autre d'un coup de clic. Il permet de simuler des productions venir. Il indique les retards prvoir en fonction des alas dans l'atelier.

    Logiciel Gestion Automatique des OFMini base article pour les systmes non relis une GPAO.

    Crez votre base article trs simplement. Gnrez vos OF vers les machines.Permet un lancement ordonnancement trs efficace. Gnre des fichiers Excel pour impression.

    Terminal IGM50Le terminal sert d'interface :

    entre les utilisateurs et l'IGM50, entre les machines et l'IGM50. Il compte les pices fabriques, mesure les temps de cycle machine. Il mesure les temps de fonctionnement, les temps d'arrt. Il permet la saisie des causes d'arrts. Il permet de slectionner l'OF raliser. Il enregistre les oprateurs par leur carte puce.

    Logiciel Tableau de BordSlectionnez les indicateurs de votre choix.

    Visualisez leur volution en temps rel. Il vous permet de mesurer d'un coup d'oeil l'volution des

    performances et de les comparer.4 crans de visualisation : TRS, MTBF, MTTR, causes d'arrt, bilans de production,... Comparez : machine par machine, par quipe, par jour, par semaine, par mois,... Montrez leurs performances vos oprateurs.

    Figure 1-1 principe de fonctionnement dIGM5O

  • ETUDE, CONSEIL ET REALISATION DE SYSTEMES ELECTRONIQUES ET MECANIQUES

    Prsentation 12

    Visualisation instantane de l'tat des machines par groupes suivant la configuration de l'atelier.

    Information en temps rel sur l'avancement de la production :

    - rfrence OF et pice,- avancement de la production visualise graphiquement,- dure estime de l'OF en cours par rapport la cadence relle de la machine,- contrle du temps de cycle instantan, TRS, cadence,- causes d'arrts renseignes.

    L'tat de la machine et de la production

    Saffiche instantanment :

    Visualisation des

    groupes de

    machines

    Accs au dtail

    dune machine

    Contrle de l'avancement de la

    production

    Etat des machines en temps rel

    Image 1-1 logiciel de suivi de production

    Image 1-2 Suivre de l'tat de machine

  • ETUDE, CONSEIL ET REALISATION DE SYSTEMES ELECTRONIQUES ET MECANIQUES

    Prsentation 13

    2 Le terminale IGM50

    Son nombre limit de boutons, son lecteur de carte puce et son afficheur permettent un apprentissage rapide, une utilisation simple et conviviale. Il permet aussi de grer les prises et fin de poste, contrle,

    Nature des entres (exemples)

    Comptage des pices produites

    Marche machine

    Dtection dfaut

    Rebuts

    Nature des sorties (exemples)

    Alarme lumineuse sur contrles,

    Pilotage (arrt machine)

    Voyants dalarme

    Carte mmoire :

    Changement O.F. avec visualisation des O.F. suivants.

    Indicateurs lumineux :

    - fin dO.F.

    Choix du fonctionnement :

    - production

    5 groupes de 15 causes darrt paramtrables

    Visualisation :

    - rfrences de O.F. en cours- quantit de pices produites- identit de loprateur,- temps de cycle instantan- rfrence pice

    Rebuts- 4 entres(Informations machines)

    - 2 sorties(Signalisations ou commandes)

    Carte mmoire :

    Changement O.F. avec visualisation des O.F. suivants.

    Indicateurs lumineux :

    - fin dO.F.

    Clavier de saisie des quantits produites, des rebuts

    Choix du poste de travail ;

    Choix de lopration en cours ;

    Visualisation :

    - rfrences de O.F. en cours- quantit de pices produites- identit de loprateur- rfrence pice

    Rebut- 3 entres- 2 sorties(Signalisations ou commandes)

    - 1 liaison bus RS 485

    Image 1-3 Le terminal IGM50

    Image 1-4 Le terminal IGM50 modifi

  • ETUDE, CONSEIL ET REALISATION DE SYSTEMES ELECTRONIQUES ET MECANIQUES

    Prsentation 14

    Ce terminal gre 1 8 postes de travail.

    Son nombre limit de boutons, son lecteur de carte puce et son afficheur permettent un apprentissage rapide, une utilisation simple et conviviale.

    Fonctions principales

    Choix dun OF et dune opration sur lOF (charg depuis la supervision avec les quantits produire)

    Entre des pices produites et des rebuts au clavier ou sur entre

    Comptage automatique du temps pass sur chaque opration et suivi par quipes la supervision

    Boutons de causes darrt et causes dabsences (programmables).

  • ETUDE, CONSEIL ET REALISATION DE SYSTEMES ELECTRONIQUES ET MECANIQUES

    Prsentation et dfinition des besoins 15

    Section 2 Prsentation et dfinition des besoins

    chapitre 1. Le concept IGM2.O : Ide et Objectifs

    1 Lide de projet IGM2.0L e projet IGM2.0 ou plutt le concept IGM2.0 est bas sur lide de migrer vers le web ou prcisment

    vers les applications web (la source de lide t le projet WEB2.02, pour cela la notation 2.0). La question que se pose alors :

    Cest quoi les applications web ?

    On dit que ces sont ; comme il les dfinit le site Bitpipe.com3 ; des logiciels stocks sur un serveur et achemins par internet ou intranet et bas sur les protocoles web (http, ftp,), elles sont habituellement une combinaison d'une ou plusieurs pages Web interactives qui peuvent invoquer et intgrer les Navigateurs de cot client, et de bash, C, PHP, Access ou Bases de donnes SQL Server, de cot serveur.

    Et wikipedia4 les dfinit comme des applications livres aux utilisateurs partir d'un serveur web par un rseau tel que lInternet ou lIntranet.

    Et pour tre claire et concret on peut donner des exemples des applications web, et on trouve comme un vrais exemple, Google avec son paquet Google-documents, les services de calcules, de cration de PDF, agenda ..., offerts par des sites sont aussi des applications web.

    Mais pour quoi les applications web ?

    2 Lobjectifs de IGM2.0

    2.1 ObjectifsAujourd'hui, les entreprises doivent tre communicantes : elles ont des fournisseurs, des clients, des

    partenaires, des quipes internes et des quipes qui se dplacent sur terrain. L'entreprise doit pouvoir communiquer aisment avec chacun de ces partenaires qui constituent son environnement. Le logiciel qui fonctionne seul sur le pc sur lequel il est install, n'est plus capable de rpondre aux besoins de communications ncessaires la comptitivit de l'entreprise. Quelles sont aujourd'hui les solutions offertes pour bnficier d'une application permettant un travail collaboratif ?

    Il est toujours possible de faire raliser un logiciel sur mesure. Mais ce dveloppement est important (il devra notamment implmenter un protocole de communication). De plus, il faudra installer le logiciel sur tous les ordinateurs des personnes qui devront l'utiliser. Si des mises jour sont ncessaires, il faudra diffuser disquettes,CD-ROM.

    Pour remdier ces inconvnients, tout en conservant la mme base, il est aujourd'hui possible d'utiliser une nouvelle technologie : la fdration d'applications. Dans une architecture de ce type, l'application fonctionne sur un serveur centralis. Les utilisateurs accdent l'application sur le serveur comme des clients.

    2 http://fr.wikipedia.org/wiki/Web2.03 www.Bitpipe.com4 www.wikipdia.org

  • ETUDE, CONSEIL ET REALISATION DE SYSTEMES ELECTRONIQUES ET MECANIQUES

    Prsentation et dfinition des besoins 16

    Les mises jour s'en trouvent simplifies puisque l'application est centralise sur un serveur. Pour l'utilisateur, c'est compltement transparent.

    Un double clic sur l'icne et l'application est lance. Cette technologie reste nanmoins coteuse puisque en plus du dveloppement de l'application il faut mettre en place l'architecture fdre qui repose sur des applicatifs propritaires onreux. Ces solutions ne fonctionnent qu'avec certaines versions de Windows. Autre inconvnient, les protocoles de fdrations sont gourmands en bande passante. Attention votre rseau !Quant utiliser cette technologie via Internet, mieux vaut prvoir de gros tuyaux.

    Un autre choix est de raliser un logiciel suivant une architecture web. Dans une architecture web, l'application s'excute sur un serveur et les utilisateurs se connectent au serveur en utilisant leur navigateur internet. Cette architecture prsente de nombreux avantages :

    Les pages web sont lgres, ne satureront pas le rseau et permettent une utilisation nomade de l'application. Les mises jour sont toujours simples puisque centralises sur un serveur.

    Les serveurs web sont bon march puisque le plus part des serveurs sont des produits libres donc gratuits.

    Il n'est pas ncessaire de dvelopper une interface de communication et on bnficie de la plateforme du navigateur web qui gre l'affichage des pages.

    L'application peut alors tre utilise de n'importe quelle ordinateur (PC Windows, mac, linux), Pocket PC ou mme tlphone. Il suffit que l'appareil possde un navigateur internet, ce qui constitue une solution universelle d'utilisation.

    Pas dinstallation juste un navigateur webC'est donc naturellement que les entreprises se sont tournes vers les applications web. Aujourd'hui la

    majorit des nouveaux projets de Systme d'information sont des projets web.

    2.2 Description de concept IGM2.0

    Figure 2-1 le projet IGM2.0

  • ETUDE, CONSEIL ET REALISATION DE SYSTEMES ELECTRONIQUES ET MECANIQUES

    Prsentation et dfinition des besoins 17

    Serveur IGM :

    Le serveur IGM (matriel et logiciel) va jouer les rles :

    Dun serveur web normale pour grer les communications et partager les donnes et les bases de donnes.

    Un serveur dapplication ; tous les applications sont centralises et installes sur ce serveur, et tous les autres terminaux et postes accdent ces applications par rseaux.

    Machine : cest la machine dans lusine

    Pc industriel (Pc industriel) : Cest un ordinateur qui va contrler et muler les terminaux.

    Terminal IGM2.0 : cest le nouveau terminal qui va remplacer IGM50

    Les mthodes de communications :

    Http : est un protocole de communication client-serveur dvelopp pour le World Wide Web.

    RS232 : est une norme standardisant un port de communication de type srie.

    RS485 : est une norme qui dfinit les caractristiques lectriques de la couche physique d'une interface numrique srielle. La transmission se fait sur une ligne lectrique, pratiquement une paire torsade, par des variations de tension en mode diffrentiel.

    TCP/IP : est un ensemble de logiciels dvelopps au fil des annes (depuis les annes 70) qui constituent un "langage universel" de communication informatique travers le monde.

  • chapitre 2. Prsentation de terminale IGM2.0

    1 PrsentationCette dcision de migrer vers les applications web va exiger des modifications de base au niveau des

    architectures matrielles et logiciellesnouvelle stratgie de communication et lintgration de nouveaux mthodes et solutions de communication.

    Toute entreprise cherche maintenir son position danpoursuivre les volutions technologies et les intgrer dans ces produits.

    Dans ces deux cadres je suis appel reconcevoir le terminal IGM50 en IGM2.0.

    Figure

    Image

    ETUDE, CONSEIL ET REALISATION DE SYSTEMES ELECTRONIQUES ET MECANIQUES

    Prsentation et dfinition des besoins

    Prsentation de terminale IGM2.0

    Cette dcision de migrer vers les applications web va exiger des modifications de base au niveau des matrielles et logicielles des terminaux et au niveau de communication par linstallation dune

    nouvelle stratgie de communication et lintgration de nouveaux mthodes et solutions de communication.

    Toute entreprise cherche maintenir son position dans le march et battre ses concourants, doit poursuivre les volutions technologies et les intgrer dans ces produits.

    Dans ces deux cadres je suis appel reconcevoir le terminal IGM50 en IGM2.0.

    Figure 2-2 : le terminale IGM2.0 et ses modules

    Image 2-1 premier designe pour le terminal IGM2.0

    ETUDE, CONSEIL ET REALISATION DE SYSTEMES ELECTRONIQUES ET MECANIQUES

    Prsentation et dfinition des besoins 18

    Cette dcision de migrer vers les applications web va exiger des modifications de base au niveau des et au niveau de communication par linstallation dune

    nouvelle stratgie de communication et lintgration de nouveaux mthodes et solutions de communication.

    s le march et battre ses concourants, doit

  • ETUDE, CONSEIL ET REALISATION DE SYSTEMES ELECTRONIQUES ET MECANIQUES

    Prsentation et dfinition des besoins 19

    Alors, ma tache consiste prcisment intgrer un os embarque sur un microcontrleur avec un serveur web et un navigateur embarque et la gestion des entres/sorties de microcontrleur tout en respectant les contraintes de cout, de consommation, de taille, et des ressources limits (mmoire.), or la conception et le dveloppement des modules de communication dpendra de lvolution et lavancement de projet.

    2 IGM2.0 est un systme embarquIl est clairement remarquable que notre terminal IGM2.0 rpond pratiquement la dfinition de Patrice

    Kadionik5 pour le systme embarqu : Un Systme Embarqu, c'est une combinaison de matriels et logiciels permettant de remplir une ou plusieurs fonctions spcifiques avec des contraintes plus ou moins svres tel que la consommation, la temprature, la taille, les performances... et. [Patrice Kadionik, 2004].

    2.1. Caractristiques de systmes embarqusAlors, notre terminal est un systme embarqu, il se caractrise par suit par :

    Faible cot Un assez grand nombre de produits dembarqu sont sur les marchs o l'utilisateur ne veut pas payer le

    supplmentaire pour la performance ou fonctionnalit de plus, Les concepteurs ont donc d concevoir avec des rapports optimaux entre le prix et la performance Le rsultat de ceci est que les ressources disponibles sont minimaux possibles. Cest pour quoi un systme embarqu a rarement plus de quelques Mga octets de mmoire disponible.

    Faible consommation La minimisation de la consommation est essentielle pour les systmes autonomes afin de maximiser

    l'autonomie des batteries. Une consommation excessive augmente le prix de revient du systme embarqu car il faut alors des batteries de forte capacit. Or pour IGM2.0 la consommation ne prsente pas critre trs dur care le terminale va tre branch directement sur le secteur.

    Faible encombrement et faible poids Ils doivent cohabiter sur une faible surface lectronique analogique et numrique.

    Fonctionnement en Temps Rel (Rponse de temps) Les applications embarques, comme des applications de systme de contrle, sont vnement conduit et

    doivent rpondre rapidement ces vnements.

    Peut tre, Un systme embarque a besoin des oprations de calcul doivent tre faites en rponse un vnement extrieur. Cest une caractristique pour quelques domaines spciaux.

    5 Ingnieur ENSEIRB et Docteur en Science de l'Universit Bordeaux 1 http://doc.fedora-fr.org/wiki/Utilisateur:PatriceKadionik

    Image 2-2 l'interface graphique de terminal IGM2.0

  • ETUDE, CONSEIL ET REALISATION DE SYSTEMES ELECTRONIQUES ET MECANIQUES

    Prsentation et dfinition des besoins 20

    Environnement Ils sont soumis de nombreuses contraintes dictes par l'environnement telles que la temprature,

    lhumidit, les vibrations, les chocs, les variations dalimentation, les interfrences RF, la corrosion, l'eau, le feu, les radiationsetc. Cette caractristique est importante pour IGM2.0 car il va fonctionner dans un environnement industriel.

    2.2. Architecture gnrale de IGM2.0 Comme vous savez l'architecture de systme normal, un ordinateur se compose de trois couches:

    Application, Systme d'exploitation, et Matriel. De mme, un systme embarque dispose de 3 couches. Chaque couche a la mme fonctionnalit qu'un systme normal. Mais, Il y a des diffrences de sous composants du systme. Les deux premires couches, Il s'agit du logiciel. Il est possible de modifier ces composants logiciels, et aussi ajouter ou supprimer ses modules au besoin dpendant du but de systme. Cependant, Ce n'est pas un systme qui contient tous les composants comme le systme complet. Car le but de conception est de servir quelques tches spcifiques, et de concentrer un unique travail. Le systme d'exploitation est une couche logicielle sur laquelle on va se placer l'ensemble des applications lances par les utilisateurs. Il comprend les librairies pour le dveloppement, des drivers permettant aux applications d'accder des priphriques volus, peut-tre les interfaces pour contrler les lments. La conception de lOS se base forcment sur le matriel visant optimiser la performance etc.

    La dernire couche, Il s'agit du matriel. C'est--dire qu'un ensemble des lments physiques employs pour le traitement de donnes. Les composants matriels sont limits et peut-tre il y aurait un composant ddi aux tches spcifiques.

    Figure 2-3 Topologie d'un Systme Embarqu

    Entres: - Les capteurs/convertisseurs (pression, compteur, vitesse...)

    - Le clavier, boutons poussoirs (wifi, radio...)

    - Le lecteur de tags.

  • ETUDE, CONSEIL ET REALISATION DE SYSTEMES ELECTRONIQUES ET MECANIQUES

    Prsentation et dfinition des besoins 21

    Sorties: - crans LCD tactile.

    - les LED tmoins.

    - les sorties des commandes.

    Mmoire de mass : (La dtaille dans la section $4.3.1) - FLASH.

    - L'utilisation de ROM.

    - Le disque distance Ex: NFS, TFTP.

    IHM: Normalement, Il est un dispositif qui sert communiquer entre l'humain et la machine.

    Cest lcran avec les dispositifs TouchScreen et les boutons.

  • ETUDE, CONSEIL ET REALISATION DE SYSTEMES ELECTRONIQUES ET MECANIQUES

    Outils de dveloppement 22

    Section 3 Outils de dveloppement

    1 IntroductionAprs avoir spcifi les diffrents besoin de notre projet, nous prsenterons dans cette section les

    diffrents outils matriels et logiciels utiliss dans le dveloppement.

    Je vais prsenter en premier lieux les outils logiciel tel que les environnements de dveloppement (ELDK, Buildroot, Poky) et en deuxime lieu les matriels (carte) et dans une dernire partie les autres outils que sont indpendant de projet.

    Chapitre 1 Les environnements de dveloppement

    1 DfinitionsLa plupart des dveloppeurs utilisent un PC x86 (Linux ou Windows) comme poste de travail et il est donc

    ncessaire de mettre en place des outils permettant de dvelopper du code non-x86 sur un PC, mais avant de discuter a, on parlera de la terminologie qui concerne le dveloppement .Il sagit dun environnement de dveloppement crois avec deux entits distinguer :

    La cible (Target-System) est la plate-forme matrielle qui va accueillir l'OS et le ou les applicatifs embarques. En fait, La cible est un systme cible sur lequel On veut mis en place lOS, ou bien l'application. Elle est caractrise par l'architecture des processeurs que peut tre IntelX86, MIPS, ARM, SuperHitachi-SHetc.

    L'hte de dveloppement (Host-Development) est la plate-forme de dveloppement sur la quelle sont mis au point les diffrentes parties logicielles de la cible. En fait, C'est une machine hte (host) pour le dveloppement et la mise au point. Simplement, lors de la cration d'un OS Embarqu ou d'une application embarque, On crit "code source" et compile directement les sources sur ce host de dveloppement.

    Comme le dveloppement de logiciel ordinaire, les dveloppeurs de systme embarqu ont besoin des compilateurs, des interprteurs, les linkers, les IDE, et d'autres outils de dveloppement. Les outils pour les dveloppeurs de systme embarqus sont diffrents. Car ils fonctionnent sur une architecture diffrente lors de la construction des applications pour le systme cible. C'est pourquoi ces outils s'appellent souvent des chanes de compilation croise en anglais "cross-platform development tools" ou "cross-development tools".

    La compilation croise ( cross-compile ) est un processus de cration des logiciels pour le systme (microprocesseurs) cible en utilisant un machine hte avec les outils tel que compilateur, bibliothque C, etc

    La chane de compilation croise est trs importants pour dvelopper Linux embarqu Elle se compose des composants suivants:

    1. binutils: un ensemble d'outils de manipulation de fichiers binaires comme : ld, gas, etar..

    2. compilateur C/C++:GCC et dbogueur GDB

    3. bibliothque C : Glibc, Dietlibc, uClibc

  • ETUDE, CONSEIL ET REALISATION DE SYSTEMES ELECTRONIQUES ET MECANIQUES

    Outils de dveloppement 23

    Figure 3-1 la compilation croise

    Dans le cas de la compilation croise, ces diffrents outils, ainsi que le compilateur, seront excut sous linux dans un environnement x86 mais le code gnr sera d'un type diffrent (ARM). Il est donc ncessaire de compiler le paquetage partir des sources en spcifiant de nouvelles options de gnration.

    La gnration de la chane de compilation croise est peut tre possible la main mais les applications pour les systmes cibles est souvent fastidieuse car elle peut que l'application a beaucoup des dpendances et de mme ces dpendances ont des dpendances, etc.., exemple :

    Exemple fichiers dpendances pour un simple terminal matchbox-terminal :

    Digraph depends {"matchbox-terminal" [label="matchbox-terminal 0:0.0+svnr1612 -r0\n/home/yf/

    youssef/test1/pinky-3.1/meta/packages/matchbox-terminal/matchbox-terminal_svn.bb"]:

    "matchbox-terminal" -> "pkgconfig-native""matchbox-terminal" -> "libtool-cross""matchbox-terminal" -> "autoconf-native""matchbox-terminal" -> "libtool-native""matchbox-terminal" -> "vte""matchbox-terminal" -> "virtual/arm-poky-linux-gnueabi-gcc""matchbox-terminal" -> "shasum-native""matchbox-terminal" -> "gnu-config-native""matchbox-terminal" -> "gtk+""matchbox-terminal" -> "virtual/libc""matchbox-terminal" -> "automake-native""vte" -> "pkgconfig-native""vte" -> "libtool-cross""vte" -> "autoconf-native""vte" -> "libtool-native""vte" -> "gnome-common""vte" -> "intltool-native""vte" -> "virtual/arm-poky-linux-gnueabi-gcc""vte" -> "shasum-native".."autoconf-native" -> "shasum-native""autoconf-native" -> "gnu-config-native""autoconf-native" -> "m4-native""autoconf-native" -> "gnu-config-native".

    des aplications exucitables sur les systemes ciblses

    la chaines de compilation

    croise

    les outils de compilations

    de hote

  • ETUDE, CONSEIL ET REALISATION DE SYSTEMES ELECTRONIQUES ET MECANIQUES

    Outils de dveloppement 24

    Et aussi elle peut quelle ncessite des patchs en fonction des architectures. De ce fait, l'utilisateur non averti risque de disposer d'une chane errone et il est donc conseill d'utiliser des outils spcialiss.

    Dans cette partie, nous allons prsenter quatre solutions open sources disponibles utilisables sur Linux x86. Je vais choisir un de ces outils et expliquerais galement comment mettre en uvre cet outil sur plate-forme linux.

    2 ELDK- Embedded Linux Development KitELDK - Embedded Linux Development Kit, est un paquet qui contient les outils ncessaire pour dvelopper

    en linux embarqu:

    - outils de compilation (le compilateur, l'assembler, le linker etc..), sont des outils pour gnrer le code pour l'architecture vis.

    - native-tools et native-libraries sont des outils utiliss pour compiler des programmes excuter sur des systmes embaqus.

    - Des codes sources et des fichiers binaire pour linux.

    ELDK est dvelopp par DENX Software, socit de consulting Linux situe en Allemagne. Le fondateur, Wilfried Denk, est un professionnel de talent, contribuant de nombreux projets open source dont RTAI6. Le produit est disponible sous forme de paquetages RPM binaires ou sources. Il est galement possible de tlcharger l'image ISO du CDROM contenant les binaires ou les sources7.

    ELDK permet de mettre en place une chane de compilation utilisable sur un PC Linux x86 pour des cibles PowerPC, MIPS ou ARM. Cet outil fournit galement une distribution que l'on peut utiliser comme root-filesystem travers d'un montage NFS. Cette technique permet de faciliter la mise au point car il n'est pas ncessaire de mettre jour systmatiquement la cible. La version de noyau fournie par ELDK est la 2.4.25 amliore par DENX principalement pour la plate-forme PowerPC.

    Vous trouvez titre de formation une mthode de mettre en uvre un Linux sous ARM avec ELDK dans lannexe B.

    3 BuildrootBuildroot est un ensemble de Makefile et patches qui permettent de gnrer facilement une chane de

    compilation croise et un systme de fichiers racine de votre cible.

    Buildroot automatise la mise en place d'un systme de fichiers racine avec tous les outils ncessaires comme busybox. Il rend beaucoup plus facile que de le faire la main.

    Buildroot automatise la gnration de la chaine de compilation grce l'utilisation de Makefile, et il dispose d'une collection de correctifs pour chaque version gcc et binutils pour les faire fonctionner sur la plupart des architectures.

    Pour tlcharger Buildroot utilisant SVN, il vous suffit de suivre les rgles dcrites sur la page http://buildroot.uclibc.org/subversion.htm Pour les impatients, voici un lien rapide:

    6 Real Time Application Interface http://www.rtai.org7 ftp://mirror.switch.ch/mirror/eldk/eldk/

    svn co svn://uclibc.org/trunk/Buildroot

  • ETUDE, CONSEIL ET REALISATION DE SYSTEMES ELECTRONIQUES ET MECANIQUES

    Outils de dveloppement 25

    Buildroot se caractrise par un bel outil de configuration graphique similaire celle que vous pouvez trouver dans le noyau Linux ou dans Busybox. Notez que vous pouvez construire tout comme un utilisateur normal. Il n'est pas ncessaire d'tre root pour configurer et l'utilisation de Buildroot.

    4 OpenEmbeddedOpenEmbedded est un outil qui permet aux dveloppeurs de crer un Linux pleinement utilisable pour

    divers systmes embarqus. Il a t conu pour tre en mesure de traiter diffrentes architectures matrielles et d'utiliser des outils pour acclrer le processus de compilation. Actuellement, il peut fonctionner sur toutes les distributions Linux, et des plans sont en place afin de lui permettre de travailler sous Windows.

    Essentiellement, le projet maintient et dveloppe une collection de recettes BitBake. Les bitbakes constitus des sources URL du paquet, les dpendances et les options de compilation ou d'installation. Pendant le processus de constructions, les recettes sont utiliss pour suivre les dpendances, le cross-compiler et le paquetage de paquets susceptible d'tre install sur le priphrique cible. Il est galement possible de crer des images compltes, compos de systme de fichiers racine et du noyau.

    5 Poky LinuxPoky est une plateforme open source. Il est un environnement de dveloppement logiciel ddi pour

    linux. Il aide la conception, le dveloppement, la construction, le dbogage, la simulation complte de logiciels modernes utilisant Linux, il est fond sur lenvironnement OpenEmbedded.

    Poky a t configur pour:

    Fournir des programmes open-source pour Linux. Crer des paquets stable, en se basant sur de OpenEmbedded et qui peuvent tre facilement et de

    manire fiable intgrer sur des systmes embarqu. Soutenir une large gamme des architectures x86 et ARM.

    Poky est avant tout une plate-forme qui gnre des images de fichier-system (filesystem images) base sur des logiciels open source tels que le serveur X Kdrive, le gestionnaire de fentres Matchbox, la bote outils GTK + et le bus de system D-Bus message. Des nombreux types des images peuvent tre gnrs par poky, et de plus il est compltement adapt avec lmulateur QEMU pour les architectures x86 et ARM.

    Figure 3-2 : Sato Desktop - Une capture d'cran partir d'un ordinateur excutant Poky built image

  • ETUDE, CONSEIL ET REALISATION DE SYSTEMES ELECTRONIQUES ET MECANIQUES

    Outils de dveloppement 26

    Poky a de plus en plus une communaut open-source soutenu par un support commercial assur par le principe dveloppeur et mainteneur de Poky, OpenedHand Ltd.

    Pourquoi poky ?Le choix de lenvironnement ce nest pas facile. Avec une petite recherche sur internet on trouve que Buildroot,

    OpenEmbedded et Poky sont le plus populaire mais les dveloppeurs conseillent dutiliser OpenEmbedded avec sacommande magique bitbake, par contre on choisis poky tout dabord car il se base sur OpenEmbedded et de plus je lai trouvais plus structur et simple manipuler.

    Chapitre 2 La carte et les autres outils

    1 La carte AT91SAM9260-EKAT91SAM9260EK est un kit dvaluation dAtmel qui est conue pour lvaluation des programmes tournant

    sur le microcontrleur AT91SAM9260 de Atmel cur ARM9.

    LAT91SAM9260EK est quip d'un AT91SAM9260 (217-ball LFBGA paquet) ainsi que les lments suivants:

    64 Mo de mmoire SDRAM 256 Mo de mmoire NANDFlash Mmoire Data flash dAtmel EEPROM srie DHT un port USB type A deux ports USB hte interfaces type B un port de communication srie pour

    le debug un port MODEM srie de

    communication un autre port de communication srie

    avec RTS / CTS JTAG / CIE interface de dbogage

    un port Ethernet 100 Base TX avec trois LEDs d'tat

    un audio dac AT73C213 dAtmel une puissance LED usage gnral deux boutons poussoirs configurable une entre bouton-poussoir pour le Wake up un bouton-poussoir de rinitialisation un Data flash, SD / MMC quatre connecteurs d'expansion (PIOA, PIOB,

    PIOC, capteur d'image) un de type BGA EBI expansion empreinte

    connecteur une pile Lithium Battery Cell de retenue de 12

    mm taille des cellules

    Image 3-1 la carte dvaluation AT91SAM9260EK

  • ETUDE, CONSEIL ET REALISATION DE SYSTEMES ELECTRONIQUES ET MECANIQUES

    Outils de dveloppement 27

    2 Les autres outils

    2.1 QEMU Emulateur Lenvironnement dmulationQemu est un mulateur de matriel, capable de simuler une architecture x86, et partiellement les

    architectures PPC, ARM et SPARC. Qemu mule tout, y compris le microprocesseur, c'est pourquoi il est souvent plus lent que le systme hte. Cependant, la virtualisation vous permet de rentabiliser le temps processeur libre en multipliant les OS.

    QEMU a deux modes de fonctionnement:

    - Emulation complte du systme .Dans ce mode, QEMU mule un systme complet (par exemple un PC), y compris le processeur (un ou plusieurs processeurs) et les divers priphriques. Cest une bonne manire pour lancer diffrents systmes d'exploitation sans formater, partitionner ou redmarrer le PC ou pour dboguer le code systme.

    - Emulation en mode utilisateur. Dans ce mode, QEMU pouvez lancer les processus tablis pour un CPU sur un autre CPU. Il peut tre utilis pour lancer le Wine8 ou pour faciliter cross-compilation et cross-debugging.

    Pour le mode complte Qemu supporte les architectures suivantes :

    PC (x86 ou processeur x86_64) ISA PC (old style PC without PCI bus) ISA PC (ancient PC sans bus PCI) PREP (PowerPC processor) PREP (processeur PowerPC) G3 BW PowerMac (PowerPC processor) PowerMac G3 BW (processeur PowerPC) Mac99 PowerMac (PowerPC processor, in progress) Mac99 PowerMac (processeur PowerPC) Sun4m/Sun4c/Sun4d (32-bit Sparc processor) Sun4m/Sun4c/Sun4d (32-bit Sparc processeur) Sun4u (64-bit Sparc processor, in progress) Sun4u (64-bit Sparc processeur, en cours) Malta board (32-bit and 64-bit MIPS processors) Malte bord (32-bit et 64-bit processeurs MIPS) ARM Integrator/CP (ARM) ARM Integrator / CP (ARM) ARM Versatile baseboard (ARM) ARM Versatile plinthe (ARM) ARM RealView Emulation baseboard (ARM) ARM RealView Emulation plinthe (ARM) Spitz, Akita, Borzoi and Terrier PDAs (PXA270 processor) Spitz, Akita, Terrier Barzo et assistants personnels (processeur PXA270) Luminary Micro LM3S811EVB (ARM Cortex-M3) Luminaire Micro LM3S811EVB (ARM Cortex-M3) Luminary Micro LM3S6965EVB (ARM Cortex-M3) Luminaire Micro LM3S6965EVB (ARM Cortex-M3) Freescale MCF5208EVB (ColdFire V2). Freescale MCF5208EVB (ColdFire V2). Arnewsh MCF5206 evaluation board (ColdFire V2). Arnewsh MCF5206 valuation bord (ColdFire V2). Palm Tungsten|E PDA (OMAP310 processor) Palm Tungsten PDA (processeur OMAP310)

    8 Une application sous linux permet de lancer des programmes Windows (http://www.winehq.org)

  • ETUDE, CONSEIL ET REALISATION DE SYSTEMES ELECTRONIQUES ET MECANIQUES

    Outils de dveloppement 28

    Pour le mode utilisateur Qemu mule x86, PowerPC, ARM, 32-bit MIPS, Sparc32/64 et ColdFire (m68k).

    Cet outil me permet dmuler le systme dexploitation construit avant de le charger sur la carte.

    2.2 SVN un logiciel de gestion de versionsUn logiciel de gestion de versions agit sur une arborescence de fichiers afin de conserver toutes les

    versions des fichiers, ainsi que les diffrences entre les fichiers.

    Ce systme permet par exemple de mutualiser un dveloppement. Un groupe de dveloppeurs autour d'un mme dveloppement se servira de l'outil pour stocker toute volution du code source. Le systme gre les mises jour des sources par chaque dveloppeur, conserve une trace de chaque changement. Ceux-ci sont, en bonne utilisation, chaque fois accompagns d'un commentaire. Le systme travaille par fusion de copies locale et distante, et non par crasement de la version distante par la version locale. Ainsi, deux dveloppeurstravaillant de concert sur une mme source, les changements du premier soumettre son travail ne seront pas perdus lorsque le second, qui a donc travaill sur une version non encore modifie par le premier, renvoie ses modifications.

    Cet outil ma normment aid aux cours de mon dveloppement par le visionnement de mes modifications et il permet aussi de prsenter le changement entre les versions.

    2.3 NFSNetwork File System (NFS) est un moyen de partager des fichiers entre plusieurs machines sur un mme

    rseau comme si les fichiers se trouvaient sur votre disque dur local.L'ide de base de NFS est de permettre un ensemble quelconque de clients et de serveurs de partager un mme systme de fichiers. Ce partage de fichiers s'effectue d'une faon aussi transparente que possible. D'une manire gnrale, les clients et les serveurs sont sur le mme rseau local mais il est possible d'excuter nfs travers un rseau longue distance. Il est important de noter que les clients et les serveurs sont des machines distinctes. NFS permet toute machine d'tre la fois client et serveur sauf dans le cas d'un pc o nfs ne lui permet pas de jouer le rle d'un serveur cause de sa structure mono-tche.

    Cet outils ma permet de partager le systme de fichier de la carte on le montant en local que me simplifie les modifications le copier/coller directe en local au lieu de charger chaque fois le systme de fichier sur la carte.

  • ETUDE, CONSEIL ET REALISATION DE SYSTEMES ELECTRONIQUES ET MECANIQUES

    Solutions techniques 29

    Section 4 Solutions techniques

    chapitre 1. Linux notre systme dexploitation embarqu

    1 Pour quoi un systme dexploitationPourquoi intgrer tout un systme dexploitation sur le terminal et pas des programmes en dur qui

    rpond directement nous besoins ?

    Le systme dexploitation, est multitche. Il est possible dy excuter plusieurs processus qui se partagent les ressources de la machine. Il peut, en effet, stopper, tout moment, nimporte quelle application pour passer la main la suivante. Le plus intressant dans un systme dexploitation est quil va nous faciliter la communication et la gestion de matriel, imaginer qui on va faire la gestion des mmoires et les interruptions dune application; comme un navigateur web; manuellement, cest fastidieuse !

    On trouve une multitude des systmes dexploitation pour lembarque, les uns sont gratuits et open source et les autres non,.

    Quelques OS Embarqu trs connu :

    Palm OS pour le handheld Ses applications comprennent - Gestion de la mmoire simplifie, - Gestion de bases de donnes et de l'cran, - Fournissement de la bibliothque mathmatique - Fournissement des applications minimalistes.

    Symbian OS pour la tlphonie, - Gestion des contacts, - gestion de rseaux divers (SMS, Bluetooth, GSM,TCP/IP), - gestion multimdia - Supporte la technologie Java (Java Phone)

    Windows Embarqu : - Les applications drives du Windows

    Alors Pourquoi intgrer Linux dans notre systme embarqu quant il existe cette multitude dautres systmes dexploitation ?

    2 Pourquoi Linux ? Cette partie apporte les lments de rponse cette question.

    2.1 PrixTout d'abord, La raison conomique est souvent tenue compte, et puis on n'a pas peur de dire le prix.

    Linux est gratuit et sans royalties payer pour chaque produit vendu base de Linux, ce qui est important pour des systmes destins tre fabriqus en grande srie, et o chaque cot supplmentaire doit tre vit. Toutes les distributions Linux sont disponibles gratuitement au tlchargement par Internet, D'ailleurs, les outils de dveloppement d'un Linux comme les compilateurs, le IDE, la bibliothqueetc sont disponibles faible cot ou gratuits parce que fonctionner en terme de GNU. Donc les cots de mise en uvre de Linux sont rduits. Un avantage de prix par rapport aux autres OS.

  • ETUDE, CONSEIL ET REALISATION DE SYSTEMES ELECTRONIQUES ET MECANIQUES

    Solutions techniques 30

    2.2 "Source code" disponible et gratuit Linux est un logiciel libre, Donc le code source est disponible au public. Cela donne le pouvoir aux

    utilisateurs d'utiliser ce logiciel comme ils l'entendent. On peut ainsi voir directement travers les fichiers sources ce que fait le noyau Linux voire modifier son comportement au besoin. C'est trs bien pour la construction d'un Linux embarqu.

    2.3 Beaucoup de pilotages et outils de dveloppement disponibles Les pilots sont importants dans une situation o les composants lectroniques voluent rapidement, les

    constructeurs n'ont pas le temps de fournir les pilotes logiciels pour tous les systmes d'exploitation existants. Maintenant, Linux offre l'avantage nombreux pilotes existent souvent en modle "Open Source", et sont donc facilement modifiables ou adaptables, si le besoin s'en faisait sentir. Pour dvelopper une application, Il est ncessaire d'avoir les outils comme les compilateurs, IDE, et le dboguer. Linux supporte le GCC, GDB four dboguer et beaucoup de IDE. Pour le dveloppement de OS Embarqu, la chane de dveloppement qui s'appelle "cross-compilation" en anglais (compilation pour une machine cible diffrente de la machine qui sert gnrer un programme) est trs importante. La communaut de Linux Embarqu fournit suffisamment les outils de dveloppement ncessaires.

    2.4 Plein d'applicationsLapplication tant support par LINUX est beaucoup diverse, On peut chercher une application adapte

    pour votre domaine. Dailler, lutilisation est aussi gratuite.

    2.5 Support de rseau La capacit de rseau sera indispensable pour la connectivit IP dans l'embarqu. Linux le trs bon

    support en rseaux. Il supporte le plus nombreux de protocoles possibles de rseau tests t prouvs depuis des annes comme suit. Cela permet votre systme dtre interoprabilit.

    TCP/IP rseau. Routage /Firewalling. Serveur de Telnet SMB, NFS. Protocoles WAN:X.25, AX.25, HDLC et ATM.

    2.6 La multitude des architecture supportLinux fonctionne sur un grand nombre d'architecture, mais non toutes les architectures sont utilises dans

    le linux embarqu :

    DEC Alpha http://www.alphalinux.org

    Processeur ARM et StrongARM http://www.arm.linux.org.uk http://www.uclinux.org

    Hitachi SuperH http://www.m17n.org/linux-sh

    i386 (x86) http://www.linux.org Motorola 68K http://www.linux-m68k.org http://www.uclinux.org IA-64 http://www.linuxia64.org

    Processeur MIPS http://www.oss.sgi.com/mips Motorola PowerPC http://www.linuxppc.org Sparc (32 et 64 bits) http://www.ultralinux.org

    Tableau 4-1 Les architectures support par linux

  • ETUDE, CONSEIL ET REALISATION DE SYSTEMES ELECTRONIQUES ET MECANIQUES

    Solutions techniques 31

    2.7 Le march

    Figure 4-1 Le dveloppement des OSs Embarqus, En 20049

    Selon VDC (www.vdc.com), qui a tudi sur des plateformes de matriel, des logiciels, Linux, Java, et logiciel ouvert de source, et des outils de dveloppement. Il conclut que Linux Embraqu se dveloppe trs rapidement. On utilise de plus en plus linux pour la stratgie de dveloppement de ses produits. Et Linux embarqu, aujourdhui, est un premier choix.

    9 http://www.linuxdevices.com/articles/AT4036830962.html

  • ETUDE, CONSEIL ET REALISATION DE SYSTEMES ELECTRONIQUES ET MECANIQUES

    Solutions techniques 32

    Chapitre 2 Linux un systme dexploitation pour lembarqu, comment ?

    1 IntroductionLa construction dun linux pour lembarqu se base sur linux normale mais avec des modifications qui les

    exigent le matriel et lobjectif de systme embarqu. Alors cest quoi ces modifications et pourquoi ?

    2 Architecture de linuxA partir les caractristiques et l'architecture du LINUX en gnral, on peut donner un exemple sur

    l'architecture logicielle d'un Linux Embarqu car elle va tre notre base pour le dveloppement.

    Figure 4-2 l'architecture de linux

    Chargeur de dmarrage Noyau Systme de fichiers Bibliothques (librairies)

    Utilitaires de base Pilotes Applications

    Ces composants Peut-tre sont prsents ou non dans les diffrents systmes. Cela dpend de larchitecture cible et lobjectif de systme.

    Les applications utilisent un ensemble de l'APIs fourni par le noyau, Donc le noyau de linux va tre port avec un peu ou pas de changements. Cela permet de rutiliser les logiciels existence pour Linux embarqu.

    Le noyau doit pouvoir charger et/ou accder un file-system en mmoire local ou en rseau par NFS10 ou FTP11. Un Systme de Fichiers doit tre prsent dans Linux embarqu.

    10 NFS ou Network File System est un Protocole de communication dvelopp par Sun Microsystems qui permet un Ordinateur d'accder un systme de fichier via un Rseau.11FTP est un Protocole de communication destin l'change de fichiers sur un Rseau TCP/IP

  • ETUDE, CONSEIL ET REALISATION DE SYSTEMES ELECTRONIQUES ET MECANIQUES

    Solutions techniques 33

    Pourtant, les services exports par le noyau sont souvent incapables pour tre employs directement par des applications. Au lieu de cela, les applications se basent sur des bibliothques qui fournir les APIs familiers et services abstraits qui communique avec le noyau pour obtenir la fonctionnalit dsire.

    La bibliothque principale employe par la plupart des applications de Linux est la bibliothque de GNU C. Pour les systmes embarqus de Linux, La librairie GNU peut tre remplace en autre bibliothque.

    2.1 Chargeur de dmarrage ou le bootloaderLe bootloader est un petit programme ncessaire pour tout systme embarqu baser sur des OSs et qui

    est charg de :

    Initialisation matrielle CPU, mmoire, (mmoire flash)

    Commandes de monitoring ou tests (optionnels)

    Accs mmoire Accs flash

    Chargement de fichiers Mise jour du systme Chargement du noyau

    Dcompression Chargement (optionnel) de systme ``root''

    initial provisoire (initrd)

    Et on trouve plusieurs types de bootloader ces qui sont gnrale tel que syslinux, blob, u-boot qui jai le utilis pour le dveloppement, et grup et ces qui sont spcifique au matriel et qui ncessite de configurations particuliers et parfois ils exigent mme les adresses des mmoires.

    Logiciel Architecture de processeurs

    Types damorage

    Description

    LILO x86 - Disque Dur - Mmoire de Flash

    Le bootloader principal pour le Disque commun sous Linux

    GRUB x86 - Disque Dur - Mmoire de Flash - DOC - TFTP, NFS

    Une version avance de LILO

    U-BOOT Tous Tous les types le bootloader universel bas sur ARM-Boot, pour presque tous les processeurs embarqus :

    REDBOOT Tous Tous Dvelopp par RedHat Tableau 4-2 comparaison bootloaders

    Jai travaill avec u-boot car le plus adapter pour lembarqu et on plus pour lARM et aussi car il offre la possibilit de charger le noyau et le systme de fichier par rseau avec NFS ou FTP qui ma trop facilit le dveloppement.

    2.2 NoyauLe noyau est le composant le plus important du systme d'exploitation. Son but est de contrler le

    matriel d'une faon logique et il fournit les services de bas niveau aux utilisateurs de haut niveau. Comme avec autre Unix, Linux conduit des dispositifs, contrle des accs d'I/O, gestion de processus, gestion de la

  • ETUDE, CONSEIL ET REALISATION DE SYSTEMES ELECTRONIQUES ET MECANIQUES

    Solutions techniques 34

    mmoire, manipule la distribution des signaux (ils ncessitent peut tre des patchs) chargement de systme de fichier, et on trouve souvent des noyaux avec des pilotes compiler en dur.

    2.3 Pilotes de priphriqueVous n'avez pas besoin d'crire vos pilotes de zro. Vous pouvez rutiliser le code de pilotes libres

    similaires. Les pilotes peuvent tre compils statiquement dans le noyau ou comme des modules charger par lutilisateur aprs le dmarrage de noyau, et le choix entre le deux dpond de systme embarqu et ces ressources.

    Les pilotes sont chargs la gestion de ressource matrielle (E/S mmoire, E/S ports, les interruptions ) en assurant les communications entre les matriels et la couche suprieur.

    2.4 Systme de fichiersUn systme de fichiers est un format de stockage des fichiers sur des supports tels que le disque dur, la

    disquette, le cd-rom et autres mmoires de masses. Les systmes de fichiers les plus connus sur les architecture x86 sont FAT16, FAT32, NTFS (formats Windows), et Ext2 pour Linux ou encore ISO 9660 (le format des cd-rom). Si Windows ne reconnat que son propre systme de fichier, en plus du systme des cd-rom, Linux a la possibilit de lire et crire sur un grand nombre de systme de fichiers provenant dOs multiples.

    Lorsque lon travaille avec un systme dexploitation de type Unix comme Linux, on ne peut pas supprimer son systme de fichier. Celui-ci fait intgralement parti du processus de fonctionnement de lensemble de lOs.

    2.5 Bibliothques (Librairies)Ces sont les bibliothques ncessaires pour le bon fonctionnement de systme tel que glibc2, libc5 et

    aussi on peut trouver des bibliothques additionnels pour le rseau ou le graphique

    2.6 Utilitaires de baseCes sont les applications de base tel que le SHEL, les diteurs de texte, la gestion de utilisateurs, etc .

    2.7 Les applicationsCes sont les applications nivaux utilisateur comme les jeux, les diteurs des images, etc .

    Daprs la dfinition de systme embarqu ; que est un systme aves des ressources matriel rduit et qui va remplir une tache bien dtermin ; on peut penser optimiser notre linux pour rpondre aux contrainte matriel (mmoire), mais comment ? On liminant tout qui nest pas ncessaire pour excuter notre tache.

    3 OptimisationLa construction dun systme Linux embarqu passe par lanalyse du systme Linux standard. Cette

    analyse permet de dterminer les parties modifiables afin doptimiser le systme dexploitation. Loptimisationnira pas dans le sens des performances (vitesse dexcution), mais dans celui de la taille occupe en mmoire vive et en mmoire de masse. En effet, lheure actuelle bien des systmes embarqus sont quip des mmoires (vive RAM et de masse FLASH) de capacit importante (pour notre systme est quip de 64M pour le RAM et 256M pour le FLASH). Mais, encore le cot prohibitif de la mmoire (RAM et de masse) impose de trouver des solutions quant la diminution de la taille de stockage de lOs.

    Loptimisation du systme passe par la rduction des diffrents blocs qui constituent le systme dexploitation Linux. Il sagit doprer, une transformation au nivaux du noyau que peut subir une optimisation en vue dtre dbarrass des pilotes de priphriques inutiles, mme la partition de swap peut judicieusementtre remise en question, etc.

  • ETUDE, CONSEIL ET REALISATION DE SYSTEMES ELECTRONIQUES ET MECANIQUES

    Solutions techniques 35

    Figure 4-3:Optimisation de Linux

    3.1 Loptimisation de systme de fichierDiscuter du choix dun systme de fichier et du logiciel permettant au systme dexploitation de le grer

    peut paratre inutile lors dune configuration standard dun Pc de bureau. Et Lorsquon parle dun systme embarqu, il faut avoir lesprit, quil volue dans des conditions trs rudes que nous faire pens bien choisir le type de systme et ladapter sans perdre le standard et la philosophie du systme de fichier de linux (Unix).Linux supportant un nombre impressionnant de systmes de fichiers, or je vais juste prsenter trois que parais bien adapter pour lembarqu.

    Ext2 : Il sagit du systme de fichier le plus utilis actuellement sous Linux. Son utilisation sur des stations de travail ou des serveurs ne pose aucun problme. En utilisant un systme de redondance des structures vitales, il permet souvent de retrouver un systme cohrent aprs un arrt forc, grce un utilitaire semi-automatique du nomm e2fsck.

    Initrd : Lune des options prcieuses de Linux consiste dans la possibilit de crer de petite image de boot en utilisant le systme de fichiers initrd. Initialement destin simplifier la procdure dinstallation, le systme de fichier initrd permet de charger un petit systme de fichiers en mmoire vive depuis son lieu de stockage. Ce systme de fichier est compress au format gzip. Le noyau le dcompresse en RAMDisk12 au moment du dmarrage. Avant la cration du systme initrd il tait impossible de dmarrer Linux dun support quelconque sans que le driver pour ce support nait t pralablement compil avec le noyau. Avec initrd un petit systme de fichiers contenant les drivers essentiels et les scripts de dmarrage est charg avec le noyau. Ce dernier dcompresse le systme de fichiers et excute un fichier nomm linuxrc. Ce script met en place les drivers manquants pour complter la procdure de dmarrage. Lorsque le script se termine le systme de fichiers initrd est dmont, la mmoire occupe est libre et la procdure dinitialisation du systme se poursuit dune faon normale.

    Il est alors concevable de dtourner le systme initrd afin quils deviennent le systme de fichier dune machine embarque :

    Comme le noyau, le systme de fichier initrd est compress et donc ne prend pas beaucoup de place en stockage.

    12 Le RAMDisk permet dobtenir une partition similaire celle rencontre sur une mmoire de masse en mmoire vive.

  • ETUDE, CONSEIL ET REALISATION DE SYSTEMES ELECTRONIQUES ET MECANIQUES

    Solutions techniques 36

    Le systme de fichier et le noyau peuvent tre fusionns pour ne former plus quun seul gros fichier.

    La mmoire de masse, par exemple une mmoire Flash, peut tre rduite son minimum.

    Remarque : Pour utiliser initrd, le noyau doit-tre compil avec les options pour le RAM disque.

    JFFS2 : Le Journaling Flash File System 2 fut dvelopp lorigine pour les mmoires Flash qui, imposent quelques contraintes de gestion. Pour saccommoder au mieux de la limite du nombre de modifications dune zone de donnes, ce systme de fichiers ne rcrit jamais les donnes au mme emplacement, et garde toujours les versions antrieures cohrentes des donnes en cours de modification. Ce systme de fichier fut dvelopp pour des systmes embarqus aux ressources limites.

    Il parait que le systme de fichiers le mieux adapt aux machines embarques est le JFFS2. Il na cependant pas tait possible de le tester. En effet, il parait quil est mal adapt avec qemu. En prsence de ce problme, lemploi du systme de fichier Ext2 semble tre une solution. Et avec la possibilit de le monter en local et le monter sur la carte par NFS ce que me permet de le modifier sans que je suis obliger chaque fois la charger, et tant que je suis encore en phase de dveloppement et test.

    ===> Alors lemploi du systme de fichier Ext2 est solution avantageuse dans mon cas.

    3.2 Suppression du swappingOn alloue sous Linux un espace mmoire nomm zone de swap. Cet espace est rserv en mmoire de

    masse, le disque dur dans le cas dun systme de bureau.

    Le swapping sacquitte de deux fonctions majeures :

    Augmenter ladressage rellement utilisable par un processus ; Augmenter la quantit de mmoire vive dynamique (ce qui reste de mmoire vive une fois que le code du noyau et les structures de donnes statiques ont t initialises) pour charger les processus

    Le swap est utile lorsque le noyau manque dangereusement de mmoire. Le noyau garde toujours unepetite rserve de pages mmoire libres qui ne peuvent tre utilises que par les fonctions les plus critiques. Ceci savre essentiel pour viter les pannes systme qui pourrait se produire lorsquune routine du noyau appele en vue de librer des ressources nest pas en mesure dobtenir la zone de mmoire dont elle a besoin pour raliser sa tche.

    Lors de la conception dun systme embarqu, les fonctionnalits exactes sont dfinies dans la premire phase dun projet. Connaissant avec prcision les applications qui sexcutent sur le systme, le concepteur peut prvoir une quantit de mmoire suffisante sans devoir recourir aux services du swapping.

    Loptimisation de la taille du systme dexploitation soulve la question de lutilit de la zone de swap. La suppression de celle-ci entranerait un gain de place apprciable Lutilisation de la mmoire vive sans swapping augmente galement les performances du systme en termes de rapidit.

    ===> La suppression de la zone de swapping est automatiquement par dfaut par poky.

    3.3 Optimisation de noyauLoptimisation du noyau se fait par deux nivaux, le premier et de bien configurer le fichier de

    configuration du noyau pour se dbarrasser de tout que est inutile comme les pilotes intitules, et le deuxime est la compression du noyau.

    Pour la compression du noyau il faut prciser le type de compression soit zImage ou bzImage au moment de compilation, or le deuxime type ne donne pas un intrt para port le premier.

  • ETUDE, CONSEIL ET REALISATION DE SYSTEMES ELECTRONIQUES ET MECANIQUES

    Solutions techniques 37

    Traditionnellement, les pilotes de priphriques intgrent le noyau, ce pour plusieurs raisons. En premier lieu, la plupart ont besoin dinteragir de faon spcifique avec le matriel, ce que seul le noyau permet. Ce systme pose videmment certains problmes. Tout dabord, chaque ajout d