eCos : un syst - PowerPoint PPT Presentation

1 / 34
About This Presentation
Title:

eCos : un syst

Description:

En 2005, on estime qu 'ils g n reront plus d'argent que les exportations p troli res. Les ... Faible empreinte m moire (syst mes enfouis) Portabilit . R seaux. 1/1/10. 5. Un peu d ' ... – PowerPoint PPT presentation

Number of Views:144
Avg rating:3.0/5.0
Slides: 35
Provided by: membresli
Category:
Tags: ecos | empreinte | syst

less

Transcript and Presenter's Notes

Title: eCos : un syst


1
eCos un système dexploitation pour les
applications embarquées
  • Nicolas Vial
  • vialn_at_ufrima.imag.fr

UJF/IMA/M2PGI/SRR http//ufrima.imag.fr/dessgi
Année Universitaire 2004-2005
2
Sommaire
  • Un OS pour lembarqué ?
  • Motivations
  • Un peu dhistoire
  • Outils de configuration
  • Ecos et la portabilité
  • RedBoot
  • Fonctionnalités supplémentaires deCos
  • La conception de système avec eCos
  • Un exemple dapplication 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
    dargent 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 lon 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 dune
    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 dAPI officielle pour
    permettre aux applications de sinterfacer
    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
File System
Networking Stack
GDB Stubs
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 deCos
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 lOS via le Configuration Tool

23
Les dessous de loutil 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 dapplication 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)
Redboot_FLOPPY.ecm
GNU CROSS Development Tools and Make
Utility (GCC,AS,LD,AR)
Config Tool
Redboot.ecc
Install Tree
Build Tree
Redboot.bin
Cygwin Tools (dd)
Floppy Disk
28
Construction deCos
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 lapplication
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 lapplication
Hôte
Cible
Application
Insight
GDB
RedBoot (Include GDB Stub)
Serial
Serial
Ethernet
Ethernet
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 dutilisation deCos.
  • Pierre Ficheux, Linux embarqué, Eyrolles,
    Chapitre 8 pages 172-173, ISBN 2-212-11024-3,
    http//pficheux.free.fr
  • Méthodologie pour construire, à partir dun 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 RD.
Write a Comment
User Comments (0)
About PowerShow.com