Tour d`horizon des plateformes pour systèmes (Linux ?) embarqués

Transcription

Tour d`horizon des plateformes pour systèmes (Linux ?) embarqués
Tour d’horizon des plateformes pour systèmes
(Linux ?) embarqués
Pierre Ficheux ([email protected])
Avril 2013
Conférence OWI avril 2013
1
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
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
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
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
Principales architectures
●
●
●
ARM
–
Leader officiel de l'embarqué
–
Large spectre d’utilisation (du micro-contrôleur au
« serveur ») et de prix !
–
Progression dans l’embarqué « complexe »
–
Reste la plateforme de référence (Linux)
x86
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
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
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
Modules i.MX/Eukréa et carte
d’évaluation
ARM9 / ARM11 / Cortex A8/A9
Conférence OWI avril 2013
9
Module OVERO / GUMSTIX
CPU OMAP3503 (Cortex-A8)
Conférence OWI avril 2013
10
Carte Armadeus (+ FPGA)
CPU i.MX27
FPGA Spartan 3A
Conférence OWI avril 2013
11
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
Carte Raspberry Pi (Rpi) B
Conférence OWI avril 2013
13
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
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
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
Linaro, suite
Conférence OWI avril 2013
17
Démonstrations
●
Test de différents OS sur Raspberry Pi
–
Yocto/OE
–
OpenWrt
–
RTEMS ?
Conférence OWI avril 2013
18
Bibliographie
●
●
http://www.linaro.org/assets/documents/Linaro_Intro_D
ec2012.pdf
http://www.unixgarden.com/index.php/gnu-linuxmagazine-hs/linux-et-le-systeme-sur-silicium
Conférence OWI avril 2013
19
Questions ?
Conférence OWI avril 2013
20

Documents pareils