e Cos un systme dexploitation pour les applications

  • Slides: 34
Download presentation
e. Cos : un système d’exploitation pour les applications embarquées Nicolas Vial vialn@ufrima. imag.

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

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

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

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

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 &

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 Le Component Repository 7

12/12/2021 Configuration avec GUI 8

12/12/2021 Configuration avec GUI 8

12/12/2021 Exemple de configuration 9

12/12/2021 Exemple de configuration 9

12/12/2021 10 e. Cos et la portabilité n Ecos supporte une grande partie des

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

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++,

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

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 •

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

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 •

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 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.

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

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 Ce que cela peut donner 20

12/12/2021 De plus près. . . 21

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

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

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 Les scripts CDL dans le GUI 24

12/12/2021 Résolution interactive des incohérences 25

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

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)

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

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

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

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 Débugage avec Insight GDB 31

12/12/2021 32 Documentation consultée n Anthony Massa, Embedded Software development with e. Cos, Ed

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

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

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.