e Cos un systme dexploitation pour les applications
- Slides: 34
e. Cos : un système d’exploitation pour les applications embarquées Nicolas Vial vialn@ufrima. imag. fr UJF/IMA/M 2 PGI/SRR http: //ufrima. imag. fr/dessgi Année Universitaire 2004 -2005
12/12/2021 2 Sommaire n n n n n Un OS pour l’embarqué ? Motivations Un peu d’histoire Outils de configuration Ecos et la portabilité Red. Boot Fonctionnalités supplémentaires d’e. Cos La conception de système avec e. Cos Un exemple d’application utilisant e. Cos
12/12/2021 3 Un OS pour l ’embarqué ? n Les systèmes embarqués sont partout • Electro-ménager, PDA, Consoles de jeux, TV& HI-FI, Téléphones portables, Lecteur MP 3, Web Pad etc… n Marché des systèmes embarqués • En 2005, on estime qu ’ils génèreront plus d’argent que les exportations pétrolières. n Les systèmes embarqués au cœur de la tendance • Complexité croissante • Time To Market (TTM)
12/12/2021 4 Motivations n n n n Open Source Exempt de royalties Configurabilité (OS à la carte) Temps réel Faible empreinte mémoire (systèmes enfouis) Portabilité Réseaux
12/12/2021 5 Un peu d ’histoire. . . n Là où tout commença--Cygnus solutions (1989) • 1997 Démarrage du projet e. Cos (Embedded Configurable Operating System) • 1998 Première version n Red Hat • 1999 Rachat de Cygnus par Red Hat • 2000 Ajout de Red. Boot • 2002 Red Hat licencie l’équipe e. Cos n e. Cos. Centric • 2002 L’équipe e. Cos fonde e. Cos. Centric
12/12/2021 6 Outils de configuration n Deux solutions • Interface graphique • Linux & Windows NT/2000/XP • Possibilité de construire et de tester le système • Granularité fine ou grossière au choix (templates, component, package) • Commande en ligne • Linux & Windows (Cygwin) • Granularité grossière uniquement, pour travailler avec une granularité plus fine obligation d’éditer les fichiers de sauvegardes (compliqué et risqué)
12/12/2021 Le Component Repository 7
12/12/2021 Configuration avec GUI 8
12/12/2021 Exemple de configuration 9
12/12/2021 10 e. Cos et la portabilité n Ecos supporte une grande partie des cartes d’évaluation que l’on trouve sur le marché. Les principales architectures processeur supportées sont : – – – ARM Fujitsu FR-V Hitachi H 8/300 Intel x 86 Matsushita AM 3 x MIPS Power. PC Samsung Calm. RISC Sparc/Spar. CLite M 68 K Super. H. . .
12/12/2021 11 Hardware Abstraction Layer n Le HAL est une couche logiciel, qui encapsule le HW sousjacent n Le HAL est divisé en trois sous-modules • Architecture ( 1 famille de processeurs = 1 architecture dans e. Cos) • Principales responsabilités : CPU startup, interrupt delivery, context switching • Variante (processeur spécifique au sein d’une famille de processeurs) • Variante de processeur qui gèrerait une MMU (Memory Management Unit) • plate-forme (typiquement une carte d’évaluation) • Responsabilités : plate-forme startup, IO access, Timer, chip configuration
12/12/2021 12 Kernel n n Ordonnanceur, threads Mutexes, sémaphores Temps réels Implémenté en C++, mais pas d’API officielle pour permettre aux applications de s’interfacer directement avec le kernel
12/12/2021 13 APIs Standards n POSIX • 1003. 1 -1996 actuellement • 1003. 1 -2001 prochainement • 1003. 13 Minimal Real Time System Profile n µITRON • Version 3. 02 Level S/E n ANSI C • C-89 compatible C et librairies math. • Quelques compatibilités C-99
12/12/2021 Red. Boot (Red Hat Embedded Debug and Bootstrap) n 14 Rom Monitor • programme en ROM ou flash memory qui offre des fonctionnalités pour le debuggage. n GDB Remote Protocol • Red. Boot fournit son propre talon GDB pour communiquer avec le GDB de la machine hôte (connexion série ou Ethernet) n Program Loading • Via port série : X/Y modem • Via Ethernet : telnet
12/12/2021 15 Architecture de Red. Boot Rom Monitor Command Line Interface (CLI) X/Y Modem Application e. Cos GDB Stubs Networking Stack Hardware Abstraction Layer (HAL) File System Device Driver Ethernet, Serial, Flash Cible Matérielle
12/12/2021 16 Systèmes de fichiers n e. Cos supporte actuellement • ROM filesystem • RAM filesystem • JFFS 2 n e. Cos supportera dans l ’avenir • VFAT • NFS
12/12/2021 Architecture réseau générale d’e. Cos 17
12/12/2021 18 Supports Réseaux n Choix entre 2 implémentations de pile TCP/IP • Open. BSD, Free. BSD n Autres protocoles • SNMP, TFTP, HTTP, BOOTP, DNS n Dans le futur • PPP
12/12/2021 19 Fonctionnalités supplémentaires n Support PCI, USB n SMP (Symmetric Multi-Processing Support) n The Go. Ahead Embedded Web. Server n Microwindows GUI
12/12/2021 Ce que cela peut donner 20
12/12/2021 De plus près. . . 21
12/12/2021 22 La conception de systèmes avec e. Cos n Configuration de la plate-forme hôte (Windows) • Installation Cygwin + GNU Tools (natif) • Construction des outils de Cross-development • Installation du kit de développement e. Cos • Configuration de l’OS via le Configuration Tool
12/12/2021 23 Les dessous de l’outil de configuration n Les fichiers scripts CDL (Common Description Language)
12/12/2021 Les scripts CDL dans le GUI 24
12/12/2021 Résolution interactive des incohérences 25
12/12/2021 26 Un exemple d’application utilisant e. Cos n La marche à suivre Construire Red. Boot pour lancer et debugger l ’application Installer Red. Boot sur la cible Construire les librairies e. Cos Construire l ’application et la linker à e. Cos Lancer et debugger l ’application
12/12/2021 Construire et installer Red. Boot (sur une cible PC dans le cas suivant) Source Tree (Local Repository) GNU CROSS Development Tools and Make Utility (GCC, AS, LD, AR) Redboot_FLOPPY. ecm Config Tool Install Tree Redboot. bin Cygwin Tools (dd) Floppy Disk Redboot. ecc Build Tree 27
12/12/2021 28 Construction d’e. Cos Source Tree Local Repository GNU CROSS Development Tools and Make Utility (GCC, AS, LD, AR) Config Tool Install Tree libtarget. a e. Cos. ecc Build Tree
12/12/2021 29 Construction de l’application GNU Make Utility essai 1. c GNU Cross Compiler i 386 -elf-gcc libtarget. a GNU Linker i 386 -elf-ld essai 1. exe GNU Binutils i 386 -elf-objcopy essai 1. srec
12/12/2021 30 Débuguer l’application Hôte Cible Application Insight GDB Serial Ethernet Red. Boot (Include GDB Stub) Ethernet Serial
12/12/2021 Débugage avec Insight GDB 31
12/12/2021 32 Documentation consultée n Anthony Massa, Embedded Software development with e. Cos, Ed Prentice Hall, ISBN : 0 -13 -035473 -2, www. phptr. com/massa • Guide complet d’utilisation d’e. Cos. n Pierre Ficheux, Linux embarqué, Eyrolles, Chapitre 8 pages 172 -173, ISBN : 2 -212 -11024 -3, http: //pficheux. free. fr • Méthodologie pour construire, à partir d’un noyau Linux, un système embarqué. Présentation de deux études de cas : Lecteur/Enregitreur MP 3 & Station de consultation Internet. n Karim Yaghmour, Building Embedded Linux Systems, O ’Reilly, Chapitre 2, ISBN : 0 -596 -00222 -X • Comment concevoir et construire son système embarqué en utilisant Linux. De nombreux exemples présents dans chaque chapitre.
12/12/2021 33 Références n http: //ecos. sourceware. org/doc-2. 0/user-guide/real -time-characterization. html • Mesures des performances RT (Deterministic Kernel Primitives) n http: //sources. redhat. com/e. Cos/ • Site officiel n http: //www. ecoscentric. com • Site très actif, étroitement lié à la communauté e. Cos et aux entreprises de pointes. n http: //www. extremtech. com/article 2/0, 3973, 108915 2, 00. asp • Game. Boy Owners Will Surf On The Web
12/12/2021 34 Références, suite. . . n http: //www. goahead. com/webserver. ht m n http: //www. microwindows. org n Miguel Santana, Conférence Embedded Systems & DSP Compilers, STMicroelectronics DAIS, Central R&D.
- Calorie dragibus
- Texte expressif exemple
- Coop pour toi et pour moi
- Metric systme
- Metric systme
- Skidded heat systme
- Caste inde
- Teamraiser training
- Systme digestif
- Healthcare hrm systme market
- Systme solaire
- Systme solaire
- Systme digestif
- Contraction haustrale
- Introduction sur le système solaire
- Straalbeen
- Oleon intestin
- Il faut chanter pour toutes les mamans du monde
- Pour les enfants du monde entier
- Sdwan pour les nuls
- Chanter pour toutes les mamans du monde
- Il faut chanter pour toutes les mamans du monde paroles
- Il faut chanter
- Monmuse
- Les adjectifs démonstratifs s'utilisent pour
- Dmr pour les nuls
- Construire les premiers outils pour structurer sa pensée
- Chiac pour les dummies
- Ordre du jour pour les enseignants
- Pyramide de bird situation dangereuse
- Sphincter
- Master sciences analytiques pour les bioindustries
- Le 4 lois spirituel
- Outils pour les cfds
- Comment rendre heureuse une fille