1 / 34

eCos : un système d’exploitation pour les applications embarquées

eCos : un système d’exploitation pour les applications embarquées. Nicolas Vial vialn@ufrima.imag.fr. UJF/IMA/M2PGI/SRR http://ufrima.imag.fr/dessgi. Année Universitaire 2004-2005. Sommaire. Un OS pour l’embarqué ? Motivations Un peu d’histoire Outils de configuration

erna
Download Presentation

eCos : un système d’exploitation pour les applications embarquées

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. eCos : un système d’exploitation pour les applications embarquées Nicolas Vial vialn@ufrima.imag.fr UJF/IMA/M2PGI/SRR http://ufrima.imag.fr/dessgi Année Universitaire 2004-2005

  2. Sommaire • Un OS pour l’embarqué ? • Motivations • Un peu d’histoire • Outils de configuration • Ecos et la portabilité • RedBoot • Fonctionnalités supplémentaires d’eCos • La conception de système avec eCos • Un exemple d’application utilisant eCos

  3. Un OS pour l ’embarqué ? • Les systèmes embarqués sont partout • Electro-ménager, PDA, Consoles de jeux, TV& HI-FI, Téléphones portables, Lecteur MP3, Web Pad etc… • Marché des systèmes embarqués • En 2005, on estime qu ’ils génèreront plus d’argent que les exportations pétrolières. • Les systèmes embarqués au cœur de la tendance • Complexité croissante • Time To Market (TTM)

  4. Motivations • Open Source • Exempt de royalties • Configurabilité (OS à la carte) • Temps réel • Faible empreinte mémoire (systèmes enfouis) • Portabilité • Réseaux

  5. Un peu d ’histoire ... • Là où tout commença--Cygnus solutions (1989) • 1997 Démarrage du projet eCos (Embedded Configurable Operating System) • 1998 Première version • Red Hat • 1999 Rachat de Cygnus par Red Hat • 2000 Ajout de RedBoot • 2002 Red Hat licencie l’équipe eCos • eCosCentric • 2002 L’équipe eCos fonde eCosCentric

  6. Outils de configuration • 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é)

  7. Le Component Repository

  8. Configuration avec GUI

  9. Exemple de configuration

  10. eCos et la portabilité • 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 H8/300 • Intel x86 • Matsushita AM3x • MIPS • PowerPC • Samsung CalmRISC • Sparc/SparCLite • M68K • SuperH ...

  11. Hardware Abstraction Layer • Le HAL est une couche logiciel, qui encapsule le HW sous-jacent • Le HAL est divisé en trois sous-modules • Architecture ( 1 famille de processeurs = 1 architecture dans eCos) • 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. Kernel • 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

  13. APIs Standards • POSIX • 1003.1-1996 actuellement • 1003.1-2001 prochainement • 1003.13 Minimal Real Time System Profile • µITRON • Version 3.02 Level S/E • ANSI C • C-89 compatible C et librairies math. • Quelques compatibilités C-99

  14. RedBoot (Red Hat Embedded Debug and Bootstrap) • Rom Monitor • programme en ROM ou flash memory qui offre des fonctionnalités pour le debuggage. • GDB Remote Protocol • RedBoot fournit son propre talon GDB pour communiquer avec le GDB de la machine hôte (connexion série ou Ethernet) • Program Loading • Via port série : X/Y modem • Via Ethernet : telnet

  15. Architecture de RedBoot Application eCos RedBoot Rom Monitor Command Line Interface (CLI) X/Y Modem GDB Stubs Networking Stack File System Hardware Abstraction Layer (HAL) Device Driver Ethernet, Serial,Flash Cible Matérielle

  16. Systèmes de fichiers • eCos supporte actuellement • ROM filesystem • RAM filesystem • JFFS2 • eCos supportera dans l ’avenir • VFAT • NFS

  17. Architecture réseau générale d’eCos

  18. Supports Réseaux • Choix entre 2 implémentations de pile TCP/IP • OpenBSD, FreeBSD • Autres protocoles • SNMP, TFTP, FTP, HTTP, BOOTP, DNS • Dans le futur • PPP

  19. Fonctionnalités supplémentaires • Support PCI,USB • SMP (Symmetric Multi-Processing Support) • The GoAhead Embedded WebServer • Microwindows GUI

  20. Ce que cela peut donner

  21. De plus près ...

  22. La conception de systèmes avec eCos • 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 eCos • Configuration de l’OS via le Configuration Tool

  23. Les dessous de l’outil de configuration • Les fichiers scripts CDL (Common Description Language)

  24. Les scripts CDL dans le GUI

  25. Résolution interactive des incohérences

  26. Un exemple d’application utilisant eCos • La marche à suivre Construire RedBoot pour lancer et debugger l ’application Installer RedBoot sur la cible Construire les librairies eCos Construire l ’application et la linker à eCos Lancer et debugger l ’application

  27. Construire et installer RedBoot (sur une cible PC dans le cas suivant) Source Tree (Local Repository) GNU CROSS Development Tools and Make Utility (GCC,AS,LD,AR) Config Tool Redboot_FLOPPY.ecm Redboot.ecc Install Tree Build Tree Redboot.bin Cygwin Tools (dd) Floppy Disk

  28. Construction d’eCos Source Tree Local Repository GNU CROSS Development Tools and Make Utility (GCC,AS,LD,AR) Config Tool eCos.ecc Install Tree Build Tree libtarget.a

  29. Construction de l’application GNU Make Utility essai1.c GNU Cross Compiler i386-elf-gcc GNU Linker i386-elf-ld libtarget.a essai1.exe GNU Binutils i386-elf-objcopy essai1.srec

  30. Débuguer l’application Hôte Cible Application Insight GDB RedBoot (Include GDB Stub) Serial Ethernet Ethernet Serial

  31. Débugage avec Insight GDB

  32. Documentation consultée • Anthony Massa, Embedded Software development with eCos, Ed Prentice Hall, ISBN : 0-13-035473-2, www.phptr.com/massa • Guide complet d’utilisation d’eCos. • 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 MP3 & Station de consultation Internet. • 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.

  33. Références • http://ecos.sourceware.org/doc-2.0/user-guide/real-time-characterization.html • Mesures des performances RT (Deterministic Kernel Primitives) • http://sources.redhat.com/eCos/ • Site officiel • http://www.ecoscentric.com • Site très actif, étroitement lié à la communauté eCos et aux entreprises de pointes. • http://www.extremtech.com/article2/0,3973,1089152,00.asp • GameBoy Owners Will Surf On The Web

  34. Références, suite... • http://www.goahead.com/webserver/webserver.htm • http://www.microwindows.org • Miguel Santana, Conférence Embedded Systems & DSP Compilers, STMicroelectronics DAIS, Central R&D.

More Related