Plateformes embarquées

Post on 28-Nov-2014

550 views 0 download

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.

Transcript of Plateformes embarquées

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 ?