Plateformes embarquées

20
1 Conférence OWI avril 2013 Tour d’horizon des plateformes pour systèmes (Linux ?) embarqués Pierre Ficheux ([email protected]) Avril 2013

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

Page 1: Plateformes embarquées

1Conférence OWI avril 2013

Tour d’horizon des plateformes pour systèmes (Linux ?) embarqués

Pierre Ficheux ([email protected])

Avril 2013

Page 2: Plateformes embarquées

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

Page 3: Plateformes embarquées

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

Page 4: Plateformes embarquées

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

Page 5: Plateformes embarquées

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

Page 6: Plateformes embarquées

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)

Page 7: Plateformes embarquées

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

Page 8: Plateformes embarquées

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€

Page 9: Plateformes embarquées

9Conférence OWI avril 2013

Modules i.MX/Eukréa et carte d’évaluation

ARM9 / ARM11 / Cortex A8/A9

Page 10: Plateformes embarquées

10Conférence OWI avril 2013

Module OVERO / GUMSTIX

CPU OMAP3503 (Cortex-A8)

Page 11: Plateformes embarquées

11Conférence OWI avril 2013

Carte Armadeus (+ FPGA)

CPU i.MX27FPGA Spartan 3A

Page 12: Plateformes embarquées

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 !

Page 13: Plateformes embarquées

13Conférence OWI avril 2013

Carte Raspberry Pi (Rpi) B

Page 14: Plateformes embarquées

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

Page 15: Plateformes embarquées

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, …

Page 16: Plateformes embarquées

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

Page 17: Plateformes embarquées

17Conférence OWI avril 2013

Linaro, suite

Page 18: Plateformes embarquées

18Conférence OWI avril 2013

Démonstrations

● Test de différents OS sur Raspberry Pi– Yocto/OE

– OpenWrt

– RTEMS ?

Page 19: Plateformes embarquées

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

Page 20: Plateformes embarquées

20Conférence OWI avril 2013

Questions ?