plateformes embarquées
Post on 28-Nov-2014
550 Views
Preview:
DESCRIPTION
TRANSCRIPT
1Conférence OWI avril 2013
Tour d’horizon des plateformes pour systèmes (Linux ?) embarqués
Pierre Ficheux (pierre.ficheux@openwide.fr)
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 ?
top related