340 likes | 601 Views
14/04/2012. 2. Sommaire. Un OS pour l'embarqu ?MotivationsUn peu d'histoireOutils de configurationEcos et la portabilitRedBootFonctionnalits supplmentaires d'eCosLa conception de systme avec eCosUn exemple d'application utilisant eCos. 14/04/2012. 3. Un OS pour l'embarqu ?. Les sy
E N D
1. eCos : un système d’exploitation pour les applications embarquées Nicolas Vial
vialn@ufrima.imag.fr
2. 15/04/2012 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. 15/04/2012 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. 15/04/2012 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. 15/04/2012 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. 15/04/2012 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. 15/04/2012 7 Le Component Repository
8. 15/04/2012 8 Configuration avec GUI
9. 15/04/2012 9 Exemple de configuration
10. 15/04/2012 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. 15/04/2012 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. 15/04/2012 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. 15/04/2012 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. 15/04/2012 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. 15/04/2012 15 Architecture de RedBoot
16. 15/04/2012 16 Systèmes de fichiers eCos supporte actuellement
ROM filesystem
RAM filesystem
JFFS2
eCos supportera dans l ’avenir
VFAT
NFS
17. 15/04/2012 17 Architecture réseau générale d’eCos
18. 15/04/2012 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. 15/04/2012 19 Fonctionnalités supplémentaires Support PCI,USB
SMP (Symmetric Multi-Processing Support)
The GoAhead Embedded WebServer
Microwindows GUI
20. 15/04/2012 20 Ce que cela peut donner
21. 15/04/2012 21 De plus près ...
22. 15/04/2012 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. 15/04/2012 23 Les dessous de l’outil de configuration Les fichiers scripts CDL (Common Description Language)
24. 15/04/2012 24 Les scripts CDL dans le GUI
25. 15/04/2012 25 Résolution interactive des incohérences
26. 15/04/2012 26 Un exemple d’application utilisant eCos La marche à suivre
27. 15/04/2012 27 Construire et installer RedBoot (sur une cible PC dans le cas suivant)
28. 15/04/2012 28 Construction d’eCos
29. 15/04/2012 29 Construction de l’application
30. 15/04/2012 30 Débuguer l’application
31. 15/04/2012 31 Débugage avec Insight GDB
32. 15/04/2012 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. 15/04/2012 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. 15/04/2012 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.