linux pour l’embarqué - membres du departement...

Post on 31-Mar-2018

220 Views

Category:

Documents

5 Downloads

Preview:

Click to see full reader

TRANSCRIPT

1

Linux pour l’embarqué

Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006

2

Plan du cours

Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006

Qu’est-ce qu’un système embarqué ?

Les solutions embarquées « classiques »

Linux embarqué : une solution attrayante ?

Méthodologie de création d’un système Linux embarqué

Implantation d’un Linux embarqué sur une cible

Les offres Linux embarqué

3Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006

Qu’est-ce qu’un système embarqué ?

- Définition

- Caractéristiques générales

- Domaines d’applications

- Exemples

4Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006

- Un système embarqué (embedded system) est un système ou un périphérique informatique qui assure une fonction dédiée et qui est généralement conçu pour être utilisé avec une application logicielle spécifique

- Synonyme : système enfoui

- Les systèmes embarqués sont en général utilisés dans un environnement matériel contraint

ex : Tableau de bord d’un véhicule géré par un programme embarqué

Qu’est-ce qu’un système embarqué ?

Définition

5Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006

- Un système embarqué doit être :

- spécifique

- fiable

- sécurisé

- optimisé

- modulaire

- adaptable

- configurable

- maintenable dans le temps

Qu’est-ce qu’un système embarqué ?

Caractéristiques générales

6Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006

- Produits de grande consommation

Qu’est-ce qu’un système embarqué ?

Domaines d’applications

- Electronique grand public

- Automobile

- Télécommunications

- Avionique, spatial

- Réseaux et périphériques informatiques

- Contrôle de processus industriels

- Systèmes médicaux

7Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006

- Fonctionnalités embarquées dans le téléphone portable :

Qu’est-ce qu’un système embarqué ?

Exemples (1)

8Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006

- Fonctionnalités embarquées dans l’automobile de demain :

Qu’est-ce qu’un système embarqué ?

Exemples (2)

Télémètre laser

Alternateur

Actionneur d’accélérateur

Badge hyperfréquence

Ecran

Caméra

Ecran de vision de nuit

Antenne

Récepteur GPS

Emetteur-récepteurinfrarouge

Batterie supplémentaire

Calculateur de navigation

Calculateur d’interfacehomme/machine

Calculateur de direction

Actionneur de direction

Calculateur de traitement d’images

Actionneur des freinsProjecteurs infrarouges

9Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006

- Empreinte mémoire en fonction du type d’application embarquée :

Qu’est-ce qu’un système embarqué ?

Empreinte mémoire des systèmes embarqués

0.1 à 0.50.5 à 22 à 88 à 3264 ou plusPlusieurs centaines

Plusieurs milliers

ROMEn Mo

Moins de 0.10.1 à 42 à 88 à 3216 à 6432 à 128128 ou +RAMEn Mo

Profondément enfoui

Emb. Typique

Emb. Moyen

Emb. Gros

PC emb.DesktopServeurProduit

« Linux embarqué » – Pierre Ficheux, Edt Eyrolles, 2000

10Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006

Les solutions embarquées « classiques »

- VxWorks

- Windows CE

- pSOS+

- QNX

- Nucleus

- µC/OS II

- eCOS

http://www.windriver.com

http://www.qnx.com

http://www.ucos-ii.com

http://www.microsoft.com/windows/embedded

http://www.acceleratedtechnology.com

http://ecos.sourceware.org

http://www.windriver.com

11Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006

- Distribué par Microsoft

Les solutions embarquées « classiques »

Windows CE

- Performances (Pentium 200MHz) :

- Temps moyen de changement de contexte : 34.4 µs- Temps moyen de latence aux interruptions : 9.5 µs

- Caractéristiques :

- Variante du système d’exploitation Windows pour les systèmes embarqués

- cibles supportées : ARM, MIPS, PowerPC, SH, x86

- conforme à la définition d’un OS temps-réel (temps de latence aux interruptions déterministe)

12Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006

- Distribué par Accelerated Technology Inc.

Les solutions embarquées « classiques »

Nucleus

- Caractéristiques :

- Système d’exploitation temps-réel

- Gratuit et livré avec les sources

- Cibles supportées : 68k, x86, ARM, ColdFire, DSP, SH, MIPS, PowerPC, SPARC, MicroBlaze, Xscale, …

- Le noyau inclut :

- une couche TCP/IP- une interface graphique- un navigateur Web- un serveur HTTP

13Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006

Les solutions embarquées « classiques »

eCOS

- eCOS : embedded Configurable Operating System

- Système d’exploitation temps-réel conçu pour les applications embarquées

- Gratuit

- cibles supportées : ARM, CalmRISC, FR-V, H8, IA32, M68K, MatsushitaAM3x, MIPS, NEC V8xx, PowerPC, SPARC, SuperH

- Depuis mai 2002 : distribué sous la eCos Licence (GPL-compatible Free Software License)

As a special exception, if other files instantiate templates or use macros or inline functions from this file, or you compile this file and link it with other works to produce a work based on this file, this file does not by itself cause the resulting work to be covered by the GNU General Public License. However the source code for this file must still be made available in accordance with section (3) of the GNU General Public License. This exception does not invalidate any other reasons why a work based on this file might be covered by the GNU General Public License

14Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006

Linux embarqué, une solution attrayante ?

- La position des industriels vis-à-vis du marché

- Linux pour l’embarqué

- Positionnement de Linux sur le marché de l’embarqué

15Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006

Linux embarqué : une solution attrayante ?

Position vis-à-vis des licences propriétaires

Snapshot of the Embedded Linux market

La position des industriels vis-à-vis du marché

- Consentez-vous à payer des royalties pour un OS embarqué ?

en 2005en 2004en 2003

16Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006

Linux embarqué : une solution attrayante ?

Position vis-à-vis des services offerts

Snapshot of the Embedded Linux market

La position des industriels vis-à-vis du marché

- Consentez-vous à payer pour un support/service de développement ?

en 2005en 2004en 2003

17Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006

Linux embarqué : une solution attrayante ?

Facteurs influant sur le choix d’un OS embarqué

La position des industriels vis-à-vis du marché

Snapshot of the Embedded Linux market - March, 2004

18Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006

Linux embarqué : une solution attrayante ?

Facteurs influant sur le choix de Linux pour l’embarqué

La position des industriels vis-à-vis du marché

19Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006

Linux embarqué : une solution attrayante ?

Quelques dates clés

Linux pour l’embarqué

- 1999 : Linux embarqué apparaît pour la 1ère fois officiellement à une exposition Linux World

- 2000 : création du consortium Linux embarqué (Embedded Linux Consortium) regroupant :

- des éditeurs de distributions Linux

- des éditeurs de systèmes temps-réel propriétaires

- des fabricants de composants

20Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006

Linux embarqué : une solution attrayante ?

Description

Linux pour l’embarqué

- Linux embarqué est une adaptation du noyau Linux à un système embarqué

- Les fonctionnalités du noyau Linux embarqué sont adaptées aux capacités du système embarqué :

- Moins de mémoire requise

- Moins de services disponibles

- Boot depuis une mémoire ROM (FLASH)

- Pas de clavier ou de souris requis

- Une version de Linux embarqué peut être configurée « à la carte » pour fonctionner sur une plateforme donnée

21Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006

Linux embarqué : une solution attrayante ?

Points forts de Linux pour l’embarqué (1)

Linux pour l’embarqué

- Faible coût

- Fiabilité

- Performances

- Ouverture

- Portabilité

- Modularité

- Adaptabilité

- Configurabilité

22Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006

Linux embarqué : une solution attrayante ?

Points forts de Linux pour l’embarqué (2)

Linux pour l’embarqué

23Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006

Linux embarqué : une solution attrayante ?

Points faibles de Linux pour l’embarqué (1)

Linux pour l’embarqué

- Méconnaissance des licences

- Crédibilité de l’open-source

- Support technique

- Support temps-réel

- Outils de développement

24Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006

Linux embarqué : une solution attrayante ?

Points faibles de Linux pour l’embarqué (2)

Linux pour l’embarqué

25Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006

Linux embarqué : une solution attrayante ?

Distribution des parts du marché

Positionnement de Linux sur le marché de l’embarqué

- Quel système avez-vous utilisé pour vos applications embarquées ces 2 dernières années ? Lequel utiliserez-vous ces 2 prochaines années ?

Snapshot of the Embedded Linux market - May, 2005

26Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006

Linux embarqué : une solution attrayante ?

La place croissante de Linux embarqué

- Utilisation (actuelle et envisagée) de Linux sur ces 5 dernières années :

Snapshot of the Embedded Linux market - May, 2005

Positionnement de Linux sur le marché de l’embarqué

27Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006

Linux embarqué : une solution attrayante ?

La progression de l’usage de Linux embarqué

- Croissance estimée du marché Linux embarqué :

VDC (Venture Development Corporation) market research - August, 2004

Positionnement de Linux sur le marché de l’embarqué

28Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006

Les offres Linux embarqué

- Les distributions Linux classiques

- Les distributions Linux embarqué commerciales

- Les distributions Linux embarqué libres

- La répartition des distributions sur le marché

- Quelques exemples de produits utilisant Linux

29Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006

Les offres Linux embarqué

Les distributions classiques

Les distributions Linux classiques

- Debian http://www.debian.org

- RedHat http://www.fr.redhat.com

- Mandrake http://www.linux-mandrake.com

- SuSe http://www.suse.de/fr

- Slackware http://www.slackware.com

- Installation d’une version « édulcorée » d’une distribution classique pour del’embarqué haute disponibilité (taille RAM > 64Mo, taille ROM >150Mo)

30Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006

Les offres Linux embarqué

Les revendeurs commerciaux en Linux embarqué

Les distributions Linux embarqué commerciales

- Montavista (Montavista Linux)

- Metrowerks (Creation Suite for Linux)

- LynuxWorks (BlueCat - BlueCat RT)

- RedHat (Embedded)

- FSMLabs (RTLinuxPro)

- TimeSys (Linux RT)

- Koan (Klinux)

- REDSonic (REDICE-Linux)

- VxWorks (Commercial Grade Linux)

31Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006

Les offres Linux embarqué

Répartition de l’usage des distributions Linux commerciales

Les distributions Linux embarqué commerciales

Snapshot of the Embedded Linux market - May, 2005

32Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006

Les offres Linux embarqué

Les distributions Linux embarqué libres

Les distributions Linux embarqué libres

- RTAI

- RTLinuxFree

- KURT

- OpenEmbedded

- µClinux

- Embedded Debian Project

- PeeWee Linux

- EtLinux

33Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006

Les offres Linux embarqué

Répartition de l’usage des distributions Linux libres

Les distributions Linux embarqué libres

Snapshot of the Embedded Linux market - May, 2005

34Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006

Les offres Linux embarqué

Répartition de l’usage de l’ensemble des distributions Linux

La répartition des distributions sur le marché

Snapshot of the Embedded Linux market - May, 2005

35Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006

Les offres Linux embarqué

Produits à base de Linux embarqué (1)

Quelques exemples de produits utilisant Linux

- Phatnoise PhatBox -- un autoradio avec disque dur

- D-Link MediaLounge DSM-320 -- un lecteur multimédia sans fil

- iRiver PMC-120 -- un lecteur multimedia portable

- Linksys Wireless-G WRT54G -- Routeur sans fil-G à haut débit

36Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006

Les offres Linux embarqué

Produits à base de Linux embarqué (2)

Quelques exemples de produits utilisant Linux

- Motorola E895 -- un téléphone mobile tri-bande GSM, GPRS et EDGE

- Nokia 770 Internet Tablet -- un PDA-tablet PC

- Tivo Series 2 -- un magnétoscope numérique

-TomTom GO -- un navigateur GPS pour automobile

37Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006

Méthodologie de création d’un Linux embarqué *

- Méthodologie générale

- Rappels sur la structure de Linux

- Construction du système de base

* d’après « Linux embarqué » – Pierre Ficheux, Editions Eyrolles, 2000

38Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006

Méthodologie de création d’un Linux embarqué

Généralités

Rappels sur la structure de Linux

- Un système Linux est composé de 3 parties :

- le noyau (kernel)

- la libc, bibliothèque principale pour les applications

- les applications (ou commandes)

- le bootstrap, programme (chargeur) de démarrage

- Le système Linux est chargé en mémoire grâce à un logiciel situé dans le MBR :

39Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006

Méthodologie de création d’un Linux embarqué

La séquence de démarrage

Rappels sur la structure de Linux

- chargement du système par un chargeur de démarrage (ex: LILO, GRUB)

- chargement du noyau Linux

- lancement du programme d’initialisation /sbin/init

- exploration du fichier /etc/inittab contenant le chemin d’accès au script de démarrage final du système

- Elle est toujours la même :

40Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006

Méthodologie de création d’un Linux embarqué

Les répertoires principaux

Rappels sur la structure de Linux

- /bin : principales commandes utilisateur

- /boot : noyaux et chargeurs du système

- /dev : pseudo-fichiers des pilotes (devices)

- /etc : fichiers de configuration

- /lib : bibliothèques partagées et modules

- /mnt : points de montages

- /opt : applications externes

- /sbin : principales commandes système

- /tmp : fichiers temporaires

- /usr : hiérarchie secondaire

- /var : données variables

41Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006

Méthodologie de création d’un Linux embarqué

Différentes méthodes de construction

Méthodologie générale

- Distribution standard

- LFS : Linux From Scratch

- LFS sur la base d’une distribution standard

- Utilisation d’une distribution GNU/Linux du commerce

- Pb : espace disque conséquent (minimum 100Mo)

- Construction du système GNU/Linux en se basant

uniquement sur les sources des programmes

- Investissement important

- Construction du système en se basant sur les applications d’une

distribution standard

42Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006

Méthodologie de création d’un Linux embarqué

LFS sur la base d’une distribution standard

Construction du système de base

- Etapes clés de construction à partir d’une distribution standard :

1) Assimiler le fonctionnement du système Linux

2) Extraire les éléments essentiels du système

3) Assemblage des composants pour la construction de la cible finale

43Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006

Méthodologie de création d’un Linux embarqué

Les différentes phases de construction

Construction du système de base

- Création des répertoires

- Création des nœuds sur /dev

- Remplissage de /bin et /sbin

- Création des bibliothèques sur /lib

- Remplissage du répertoire /etc

- Configuration du noyau

- Compilation du noyau

- Installation du noyau

44Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006

Méthodologie de création d’un Linux embarqué

Création des répertoires

Construction du système de base

- Création d’un certain nombre de répertoires indispensables :

/bin /boot /dev /etc /lib /proc

/root /sbin /tmp /usr /var

- Création d’un certain nombre de répertoires utiles :

/usr/lib/kdb/keytables

/var/log /var/run

/etc/sysconfig

45Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006

Méthodologie de création d’un Linux embarqué

Création des nœuds sur /dev

Construction du système de base

- /dev : regroupe les points d’entrées (nœuds) vers le matériel :

- /dev/cdrom : accès au lecteur CD

- /dev/fd0 : accès au lecteur de disquettes

- /dev/hdaN : accès à la Nième partition du disque dur maître

- /dev/hdbN : accès à la Nième partition du disque dur esclave

- /dev/sda1 : accès au port USB

- /dev/mouse : accès à la souris

- /dev/console : accès à un terminal Linux

46Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006

Méthodologie de création d’un Linux embarqué

Remplissage de /bin et /sbin

Construction du système de base

- Copie des programmes indispensables au démarrage d’un système minimal :

/sbin/init

/sbin/update

/bin/mount

/bin/rm

/bin/sh

47Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006

Méthodologie de création d’un Linux embarqué

Création des bibliothèques sur /lib

Construction du système de base

- Création des bibliothèques partagées utilisées par les commandes précédentes

utilisation du script automatique mklibs.sh issu du projet DEBIAN

- crée un graphe des dépendances de l’arborescence des exécutables et des librairies

- crée une version des librairies débarrassée des modules inutiles

48Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006

Méthodologie de création d’un Linux embarqué

Remplissage du répertoire /etc

Construction du système de base

- La version minimale du répertoire /etc contient les fichiers suivants :

/etc/termcap

/etc/inittab

/etc/rc.d/rc.S

/etc/fstab

/etc/lilo.conf

49Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006

Méthodologie de création d’un Linux embarqué

Configuration du noyau (1)

Construction du système de base

# make xconfig

50Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006

Méthodologie de création d’un Linux embarqué

Configuration du noyau (2)

Construction du système de base

- Configuration générale :

51Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006

Méthodologie de création d’un Linux embarqué

Configuration du noyau (3)

Construction du système de base

- Choix du processeur cible :

52Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006

Méthodologie de création d’un Linux embarqué

Configuration du noyau (4)

Construction du système de base

- Choix des systèmes de fichiers supportés :

53Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006

Méthodologie de création d’un Linux embarqué

Compilation du noyau

Construction du système de base

- Construction des dépendances des fichiers :

- Compilation du noyau :

- Compilation des modules chargeables dynamiquement :

# make dep

# make bzImage

# make modules

54Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006

Méthodologie de création d’un Linux embarqué

Installation du noyau

Construction du système de base

- Installation des modules chargeables dynamiquement :

- Installation du noyau dans le répertoire /boot :

# make modules_install

- copie du noyau compressé bzImage

- copie du fichier System.map (listes des adresses internes du noyau)

55Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006

Implantation d’un Linux embarqué sur une cible

- Transfert du Linux embarqué sur la cible

- Configuration du chargeur de démarrage LILO

- Création d’une disquette de démarrage

- Implantation finale sur le système cible

56Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006

Implantation d’un Linux embarqué sur une cible

Configuration de LILO (LInux LOader)

Configuration du chargeur de démarrage LILO

- LILO est configurable par un fichier unique /etc/lilo.conf :

boot=/dev/hda

map=/boot/map

install=/boot/boot.b

prompt

timeout=50

default=monlinuxembarque

image=/boot/bzImage

label=monlinuxembarque

read-only

root=/dev/hda2

- La validation de la configuration s’effectue par l’appel de commande /sbin/lilo

57Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006

Implantation d’un Linux embarqué sur une cible

Transfert du système sur la cible

Transfert du Linux embarqué sur la cible

- Copie de l’arborescence créée sur le système hôte, vers le système embarqué :

# cp –Rdp source destination

Gestion correcte des fichiers

spéciaux (/dev)

Préservation des liens symboliques

Conservation des caractéristiques des fichiers

originaux

58Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006

Implantation d’un Linux embarqué sur une cible

Création d’une disquette bootable

Création d’une disquette de démarrage

- Copie de l’image du noyau sur la disquette :

# dd < /boot/bzImage > /dev/fd0

- Spécification de l’emplacement du système de fichier principal sur le système embarqué :

# rdev /dev/fd0 /dev/hda3

# rdev –R /dev/fd0 1

- Montage du système de fichier principal en lecture seule :

59Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006

Implantation d’un Linux embarqué sur une cible

Implantation d’un système cible bootable

Implantation finale sur le système cible

- Ecriture de la configuration dans le secteur de démarrage du système cible :

# lilo

- La création et l’implantation du système Linux embarqué sont terminées !

60Module E4 : Systèmes temps-réel Audrey Marchand 2005-2006

Références

- Portail communautaire général : http://www.realtimelinux.org

- Portail Linux embarqué : http://www.linuxdevices.com

- Portail plus jeune : http://www.realtimelinuxfoundation.org

- RTAI : http://aero.polimi.it/projects/rtai

- Portail communautaire RTAI : http://www.rtai.org

- RTLinuxPro : http://www.fsmlabs.com

- Portail communautaire RTLinuxFree : http://www.rtlinuxfree.com

- Linux Trace Toolkit : http://opersys.com/LTT

- Logiciel Libre : http://www.openresources.com

top related