Upload
openwide
View
550
Download
0
Embed Size (px)
DESCRIPTION
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.
Citation preview
1Conférence OWI avril 2013
Tour d’horizon des plateformes pour systèmes (Linux ?) embarqués
Pierre Ficheux ([email protected])
Avril 2013
2Conférence OWI avril 2013
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
3Conférence OWI avril 2013
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
4Conférence OWI avril 2013
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
5Conférence OWI avril 2013
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
6Conférence OWI avril 2013
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)
7Conférence OWI avril 2013
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
8Conférence OWI avril 2013
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€
9Conférence OWI avril 2013
Modules i.MX/Eukréa et carte d’évaluation
ARM9 / ARM11 / Cortex A8/A9
10Conférence OWI avril 2013
Module OVERO / GUMSTIX
CPU OMAP3503 (Cortex-A8)
11Conférence OWI avril 2013
Carte Armadeus (+ FPGA)
CPU i.MX27FPGA Spartan 3A
12Conférence OWI avril 2013
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 !
13Conférence OWI avril 2013
Carte Raspberry Pi (Rpi) B
14Conférence OWI avril 2013
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
15Conférence OWI avril 2013
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 pararch/arm/mach-XXX/board-YYY.*
XXX = imx, at91, …
16Conférence OWI avril 2013
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
17Conférence OWI avril 2013
Linaro, suite
18Conférence OWI avril 2013
Démonstrations
● Test de différents OS sur Raspberry Pi– Yocto/OE
– OpenWrt
– RTEMS ?
19Conférence OWI avril 2013
Bibliographie
● http://www.linaro.org/assets/documents/Linaro_Intro_Dec2012.pdf
● http://www.unixgarden.com/index.php/gnu-linux-magazine-hs/linux-et-le-systeme-sur-silicium
20Conférence OWI avril 2013
Questions ?