Tour d horizon des plateformes pour systèmes (Linux?) embarqués Pierre Ficheux (pierre.ficheux@openwide.fr) 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 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 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 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 5
x86 Progression dans l embarqué «complexe» Principales architectures ARM Leader officiel de l'embarqué Large spectre d utilisation (du micro-contrôleur au «serveur») et de prix! PowerPC Reste la plateforme de référence (Linux) 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) 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 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 8
Modules i.mx/eukréa et carte d évaluation ARM9 / ARM11 / Cortex A8/A9 9
Module OVERO / GUMSTIX CPU OMAP3503 (Cortex-A8) 10
Carte Armadeus (+ FPGA) CPU i.mx27 FPGA Spartan 3A 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! 12
Carte Raspberry Pi (Rpi) B 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 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, 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 16
Linaro, suite 17
Démonstrations Test de différents OS sur Raspberry Pi Yocto/OE OpenWrt RTEMS? 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 19
Questions? 20