• Aucun résultat trouvé

Syst`emes temps r´eel et syst`emes embarqu´es Syst`emes embarqu´es

N/A
N/A
Protected

Academic year: 2022

Partager "Syst`emes temps r´eel et syst`emes embarqu´es Syst`emes embarqu´es"

Copied!
7
0
0

Texte intégral

(1)

Syst`emes temps r´eel et syst`emes embarqu´es

Syst`emes embarqu´es

Jacques Gangloff, Lo¨ıc Cuvillon 15 f´evrier 2008

Plan

Plan

Table des mati`eres

1 Introduction 1

1.1 Plan du cours . . . 1

1.2 D´efinition . . . 2

1.3 Concepts de base . . . 2

1.4 Statistiques / tendances . . . 2

1.5 Exemples d’utilisation . . . 4

1.6 Avantages/Inconv´enients de linux . . . 4

2 Le mat´eriel 5 2.1 Le processeur . . . 5

2.2 Le stockage non volatile . . . 6

3 Programmation d’un syst`eme embarqu´e 6 3.1 La compilation crois´ee . . . 6

3.2 Emulation . . . 6

1 Introduction

1.1 Plan du cours

Introduction – D´efinition – Concepts de base – Statistiques / tendances – Exemples d’applications

– Avantages / inconv´enients de Linux – R´ef´erences

Le mat´eriel

(2)

– Le processeur

– La m´emoire non volatile

Programmation d’un syst`eme embarqu´e – La compilation crois´ee

– Emulation

Exemples – Le Zaurus

– L’´emulateur QEMU – Compilation sous ARM

1.2 D´efinition

D´efinition

Un syst`eme embarqu´e (Embedded system en anglais) d´esigne un mat´eriel ´electronique comprenant au moins un microprocesseur (ou microcontrˆoleur) et un logiciel d´edi´e `a sa gestion. Exemples de syst`emes embarqu´es : t´el´ephone mobile, navigateur GPS, routeur ethernet, lecteur de DVD, contrˆoleur d’injection moteur, t´el´ecommande, ´electrom´enager, ...

1.3 Concepts de base

Contraintes

– Les syst`emes embarqu´es ont des contraintes sp´ecifiques : – Coˆut tr`es bas

– Encombrement r´eduit

– Robustesse aux chocs, `a la temp´erature, `a l’humidit´e.

– Autonomie donc faible consommation – Bonnes performances

– Temps de d´emarrage court

Caract´eristiques

– Ces contraintes entraˆınent des caract´eristiques particuli`eres :

– Stockage de masse sans entraˆınement m´ecanique (robustesse aux chocs, con- sommation, temps de d´emarrage)

– Processeurs basse consommation (consommation, dissipation)

– M´emoire vive et m´emoire de masse de taille limit´ee (coˆut, encombrement, temps de d´emarrage)

– Processeurs avec fonctionnalit´es minimum (coˆut, consommation, encombre- ment)

– Processeurs int´egrant plusieurs fonctions (system on chip ou SoS)

1.4 Statistiques / tendances

Types de processeurs

(3)

Historique de l’utilisation des processeurs

Types de processeurs

Tendances futures d’utilisation des processeurs

Utilisation commerciale de linux

(4)

Historique d’utilisation de versions commerciales de linux embarqu´e

Utilisation de linux pour l’embarqu´e

Linux pour l’embarqu´e compar´e `a d’autres OS

1.5 Exemples d’utilisation

Par domaine d’application

– PDA / tablettes : Zaurus, Nokia N800, XO, Sony MYLO...

– T´el´ephones : Motorola, NEC, Panasonic, ...

– Robotique : nomadic, barrett robotics, HRP

– Audio/Vid´eo : Lecteur de DVD Dlink, convertisseurs Hauppage, pinnacle audio athenaeum, cam´era wifi TRENDNET

– Modems / routeurs Wifi : pratiquement tous

– Autres : PlayStation 1,2,3, GPS TomTom, FreeBox, cam´era intelligente Sony XCI-SX1

1.6 Avantages/Inconv´enients de linux

Avantages de linux

(5)

– Gratuit

– Multi-plateformes

– Sources disponible (nombreux exemples) – Outils de d´eveloppement performants – Adapt´e aux processeurs sans MMU – Robuste

– Version temps-r´eel

Inconv´enients de linux

– Pas de support technique contractuel

– Obligation de publier les sources (pas de module binaire dans le noyau) – Pas adapt´e aux syst`emes `a taille m´emoire tr`es r´eduite

R´ef´erences

http://linuxdevices.com/

http://uuu.enseirb.fr/˜kadionik/embedded/embeddedlinux.html http://free-electrons.com/

http://uuu.enseirb.fr/˜kadionik/formation...

.../embeddedlinux/introduction.html

Linux magazine hors s´erie No 25, Avril/Mai 2006.

http://en.wikipedia.org/wiki/Flash_memory

2 Le mat´eriel

2.1 Le processeur

Processeur embarqu´e

– Les principales architectures : ARM, MIPS, PowerPC, x86

– Plusieurs d´eclinaisons : fr´equences, fonctionnalit´es, performances ne sont pas les mˆemes en fonction des fondeurs.

– Une caract´eristique que partage beaucoup de CPU embarqu´es est l’absence de MMU (Memory Management Unit)

Fonctionnalit´es de la MMU

– Traduction adressage virtuel-adressage physique : rend possible l’utilisation d’un swap.

– Protection mat´erielle des acc`es m´emoire : des limites peuvent ˆetre d´efinies par processus et en cas de violation le processeur g´en`ere une interruption.

Avantages/Inconv´enients d’un CPU sans MMU Avantages

– Simplicit´e du processeur : la surface du processeur est 30% plus r´eduite.

– Plus rapide : le changement de contexte n’inclut pas la protection m´emoire.

– Acc`es complet au mat´eriel sans restriction – Support´e dans linux 2.6 de mani`ere native.

Inconv´enients

(6)

– Pas de protection de la m´emoire : un processus user peut corrompre tout le syst`eme.

– D´ebugage d´elicat.

– Pas de swap.

– Consommation importante de la m´emoire qui devient fragment´ee.

uClinux

– Version de linux fonctionnant sur CPU sans MMU – L´eger : le noyau 2.6 uClinux fait moins de 300 Ko

– XIP : eXecution In Place permet d’ex´ecuter du code dans la m´emoire flash. Gain de m´emoire vive.

– Fonctionnalit´es similaires `a un linux classique : API linux compl`ete, noyau pr´eemptif, multithreading, grand nombre de processeurs support´es.

– uClibc : version modifi´ee de libc pour uClinux.

2.2 Le stockage non volatile

2 technologies

– M´emoire flash NOR ou NAND.

– Principe : pi´eger des ´electrons dans la grille d’un transistor MOS. Dur´ee th´eorique du pi´egeage : 10 ans.

– NOR : rapide en lecture, lent en ´ecriture, permet XIP.

– NAND : lecture par bloc, plus endurant que la NOR (environ 10x plus de cycles).

– Gestion des erreurs : micro-contrˆoleur embarqu´e (SD-card, MemoryStick, CF- cards) ou g´er´e directement par l’OS (jffs2 sous linux).

– D´ebits d’une SD-card en 2007 : environ 30 Mo/s en lecture et 20 Mo/s en

´ecriture.

3 Programmation d’un syst`eme embarqu´e

3.1 La compilation crois´ee

La compilation crois´ee

– Compilation effectu´ee sur une machine puissante avec code assembleur g´en´er´e pour le CPU du sust`eme embarqu´e.

– Le code est transmis au syst`eme embarqu´e par une proc´edure du ”flashage”.

– La compilation est rarement r´ealis´ee sur le syst`eme embarqu´e lui-mˆeme car il n’inclut pas les outils de d´eveloppement tr`es consommateurs de place.

– L’environnement de compilation crois´ee s’appelle toolchain.

3.2 Emulation

Emulation

– Pour acc´el´erer le d´eveloppement on peut d´evelopper le syst`eme dans un ´emulateur (Qemu, Bochs, VMWare, ...)

– On peut brancher un d´ebogueur sur l’´emulateur – On peut figer la machine virtuelle dans un ´etat

– On peut d´emarrer plusieurs machines virtuelles sur la mˆeme machine physique

(7)

– Limitation : le mat´eriel ´emul´e ne se comporte pas tout `a fait comme le mat´eriel r´eel

Références

Documents relatifs

timers : expiration d’un timer ou un tick (p ´eriode) d’horloge syst `eme autres p ´eriph ´eriques : touche clavier, clic souris, paquet ethernet,.. Exceptions et Interruptions

3 Proposer un exemple dans lequel la valeur renvoy´ ee par une lecture est celle transmise au cours d’une ´ ecriture : penser ` a prot´ eger lecture et ´ ecriture par un mutex.

Modifier le pilote afin que lors d’une ´ ecriture dans ce pseudo-fichier, la valeur ´ ecrite dans un premier temps (echo "valeur" > fichier) soit m´ emoris´ ee,

D´ emontrer la compilation et le chargement du pilote sur PC (il se pourrait qu’il faille d´ efinir une variable d’environnement de fa¸ con appropri´ ee, en fonction de la version

• Alternative au temps r´ eel : le mat´ eriel reconfigurable se charge des op´ erations rapides et d´ echarge le processeur de tˆ aches imm´ ediates (UART, FIFO, ADC du coldfire

• Partant de l’exemple de module avec timer en /dev, impl´ ementer une m´ ethode read qui se d´ ebloque ` a intervalles de temps r´ eguliers (utiliser un mutex). • Proposer

• depuis le CPU (Linux) : pilote noyau pour communiquer avec les p´ eriph´ eriques. • description de la configuration mat´ erielle par le m´ ecanisme des devicetree consult´ e par

Notion de syst` eme embarqu´ e Architecture des processeurs Mat´ eriel v.s logiciel Rappels de C Les microcontrˆ oleurs 8 bits G´ en´ eralit´ es sur les syst` emes num´ eriques