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