Open Wide accompagne ses clients depuis plus de 10 ans sur le choix des plateformes embarquées et propose de partager son expérience à travers cette conférence organisée par CapTronic. Nous aborderons également l’impact du matériel pour le choix du système d'exploitation.
OPEN WIDE : L’open source pour les systemes embarques Temps reel
Plateformes embarquées
1. Tour d’horizon des plateformes pour systèmes
(Linux ?) embarqués
Pierre Ficheux (pierre.ficheux@openwide.fr)
Avril 2013
Conférence OWI avril 2013 1
2. Présentation Open Wide
● SSII/SSLL créée en septembre 2001 avec Thales et
Schneider
● Indépendante depuis 2009
● Environ 110 salariés sur Paris, Lyon et Toulouse
(depuis janvier 2012)
● Industrialisation de composants open source
● Trois activités :
– OW Système d'Information (Java/PHP)
– OW Outsourcing: hébergement
– OW Ingénierie: informatique industrielle
Conférence OWI avril 2013 2
3. Présentation PF
● Ingénieur Arts et Métiers + Sup'Aéro
● Utilisateur de logiciels libres depuis 1989
● Utilisateur de Linux depuis 1992
● Auteur des 4 éditions de l'ouvrage « Linux embarqué »
(Eyrolles), 4ème édition parue en juin 2012
● Auteur GNU Linux Magazine et Open Silicium
● CTO Open Wide Ingénierie, enseignant EPITA
Conférence OWI avril 2013 3
4. Introduction
● Un système embarqué est l’association « matériel » et
« logiciel »
● Plusieurs manières d’exploiter le matériel
– Application exécutée directement sur le matériel →
« bare metal »
– Application exécutée dans un OS (Linux, RTEMS, …)
● Le matériel est rarement évoqué → banalisation de la
plateforme x86
● Le cas de l’embarqué est assez différent :
– Longue durée de fonctionnement
– Consommation !
– Coût pour les produits « grand public »
● L’OS permet une abstraction – partielle - de la plate
forme
Conférence OWI avril 2013 4
5. Informatique industrielle vs
embarquée
● Informatique industrielle → une application sur une
plate forme classique « durcie »
– Pas de contrainte mécanique ni énergétique
– Souvent du x86 avec un OS évolué (Linux, RTOS, ...)
– Utilisation d’un disque dur
– Cas typique : banc de test
– En général, peu de contrainte concernant l’évolution du
système (échange de carte mère x86, POSIX)
● Informatique embarquée
– Limitation de la puissance matérielle
– Portabilité réduite (si pas d’OS ou OS propriétaire)
– Utilisation fréquente de solutions mixtes (FPGA)
– Introduction récente du multi processeur
Conférence OWI avril 2013 5
6. Principales architectures
● ARM
– Leader officiel de l'embarqué
– Large spectre d’utilisation (du micro-contrôleur au
« serveur ») et de prix !
● x86
– Progression dans l’embarqué « complexe »
– Reste la plateforme de référence (Linux)
● PowerPC
– En perte de vitesse sauf sur certains marchés
● Plateformes spéciales (Soft core)
– Microblaze
– Nios II
● La qualité des BSP (logiciel) disponibles est un critère
fondamental pour le choix de la plateforme (et
réciproquement) Conférence OWI avril 2013 6
7. Choix d’une carte mère
● Le choix est relativement simple dans le cas du x86
– Compatibilité
– Utilisation proche de celle du PC industriel (exemple :
PC/104, ITX)
– Souvent pour petites séries mais il y a désormais des
téléphones x86 !
● Choix plus complexe pour ARM
– Design de carte ou achat
– Design de carte complète ou module CPU
– Offre commerciale nombreuse et alléchante au niveau du
prix
– ATTENTION au support matériel ET logiciel et à la
maintenance à long terme (CPU, composants)
– Carte de « hobbyiste » vs carte industrielle
Conférence OWI avril 2013 7
8. Utilisation de module
● Faible encombrement (SODIMM)
● Parfois Interchangeable ARM9 / ARM11 / Cortex
● Design simplifié
– Le module inclut les principales fonctions : CPU, réseau,
UART, flash, …
– Design uniquement effectué sur les « fonctions »
applicatives
● On peut évaluer le module grâce à un kit beaucoup
moins onéreux que les cartes d’évaluation des
constructeurs
– Modules <= 100€
– Kit <= 200€
Conférence OWI avril 2013 8
9. Modules i.MX/Eukréa et carte
d’évaluation
ARM9 / ARM11 / Cortex A8/A9
Conférence OWI avril 2013 9
10. Module OVERO / GUMSTIX
CPU OMAP3503 (Cortex-A8)
Conférence OWI avril 2013 10
11. Carte Armadeus (+ FPGA)
CPU i.MX27
FPGA Spartan 3A
Conférence OWI avril 2013 11
12. Cartes «hobbyiste »
● En général des cartes intégrées (pas de module)
réalisées en « grande » série
– Mini2440 (SAMSUNG S3C24xx)
– BeagleBoard / BeagleBone (OMAP)
– Raspberry Pi (ARM11) 4000 cartes / jour !
● Souvent réalisées dans un but éducatif (BeagleBoard,
RPi)
● Qualité de fabrication parfois douteuse (Mini2440)
● Fragilité électronique (RPi)
● Attention au support logiciel (mainline?)
● Faible coût → à partir de 22$ pour la RPi A, 35$ pour la
B
● Utilisation limitée à des maquettes !
Conférence OWI avril 2013 12
14. Support Logiciel (Linux)
● L’intérêt de Linux réside dans l’utilisation de la
communauté
« There is no embedded Linux, there is only Linux » (D
Woodhouse, Intel)
● Dans le cas de Linux, 3 niveaux de « compatibilité »
– Support mainline → intégré au noyau officiel
– « Fork » du noyau Linux (github?) avec évolution
– Version spéciale du noyau (tar+gz), peu ou pas
d’évolution:-(
● L’absence de support mainline est problématique au
niveau industriel
– Compatibilité avec les « patch » (extensions, corrections)
– Évolution de certaines API (réseau, ...)
– Qualité des pilotes fournis
Conférence OWI avril 2013 14
15. Influence de l’architecture
● L’architecture x86 est (quasiment) mainline
● L’architecture PowerPC utilise le device tree qui décrit
le matériel plutôt que de le définir de manière statique
→ configuration dynamique au démarrage
● ARM Ltd. Fournit le coeur de CPU mais les
périphériques (timer, UART, …) dépendent du fondeur
● L’architecture ARM est « statique » même si le device
tree est en cours d’intégration
● Le support (BSP) d’une carte ARM est défini par
arch/arm/mach-XXX/board-YYY.*
XXX = imx, at91, …
Conférence OWI avril 2013 15
16. Linaro
● Plusieurs sources pour les noyau (et outils) ARM
– Noyau officiel
– Constructeurs
– Sociétés tierces (Pengutronix, DenX, Mentor
Graphics/CodeSourcery…)
● Linaro est fondée en 2010 par les principaux acteurs du
monde ARM (ARM, TI, Freescale, SAMSUNG, ...)
● « Linaro is a not-for-profit engineering organization
consolidating and optimizing open source Linux
software and tools for the ARM architecture »
● Linaro fournit des « engineering builds » pour Android,
OpenEmbedded, Ubuntu sur des plateformes ARM de
référence → noyau, compilateur
● Dernière version = 13.03
Conférence OWI avril 2013 16