Vous êtes sur la page 1sur 33

STR Embarqus STR Embarqus

STRE

Plan

1. Prsentation des systmes temps rel embarqus (STRE)


Systmes temps rel
a. rappels sur les systmes temps rel
Embarqus
b. contraintes des systmes embarqus
c. les STRE
2. Structure et fonctionnement des STRE
a. Excutif ou systme
b. Ordonnancement
c. Entres/sorties

Bertrand Dupouy 3. Dveloppement d'applications embarques


4. Les STRE disponibles
5. Perspectives

ENST 8/06/10 80 ENST 8/06/10 81


STR Embarqus STR Embarqus

STRE

Plan

1. Prsentation des systmes temps rel embarqus (STRE)


a. rappels sur les systmes temps rel
b. contraintes des systmes embarqus
c. les STRE
2. Structure et fonctionnement des STRE
a. Excutif ou systme
b. Ordonnancement
c. Entres/sorties
3. Dveloppement d'applications embarques
4. Les STRE disponibles
5. Perspectives

ENST 8/06/10 82 ENST 8/06/10 83


STR Embarqus STR Embarqus

La plateforme embarque (1)


Dfinition
Des systme embarqus
Compromis matriel/logiciel :
Leur place : - seules les fonctions simples et prennes sont ralises en matriel,
Environnement
contrl
- tendance aux processeurs gnralistes puissants et aux ralisations
Capteur/Emetteur logicielles,
Systme de
commande
Noyau temps rel - Le matriel assure la performance, le logiciel apporte portabilit,
Ordonnancement
Communications flexibilit
Langage de programmation
Exemple de matriels embarqus :
- processeur + E/S simples : carte puce,
STRE : mise en uvre conjointe de matriel et de logiciel pour grer - processeur + rseau : routeur,
un dispositif qui nest pas un ordinateur et qui interagit avec le monde
extrieur (qui est donc sous contraintes temporelles), - processeur + rseau sans fil + E/S simples : tlphone portable,

Systme dexploitation et logiciels applicatifs sont immergs dans - processeur + capteurs/metteurs sophistiqus : robots, contrle de
larchitecture matrielle et ne sont pas aussi visibles que sur un PC processus,
classique, cest pour cette raison que lon parle de:
- systme enfoui (embedded system), Remarque sur les processeurs embarqus :
- informatique diffuse (pervasive computing) : linformatique est - grande capacit d'E/S,
prsente partout, mais on ne la remarque pas,
- un problme : le rapport Mips/Watt, hot RISC (sur les stations) et
cold RISC (embarqus)

ENST 8/06/10 84 ENST 8/06/10 85


STR Embarqus STR Embarqus

La plateforme embarque (2)

Contraintes spcifiques au niveau matriel :


o faible encombrement, faible poids, faible consommation,
o robustesse: rsistance aux vibrations, chocs, temprature,
o processeur : rserve dnergie limite (par le cot, par le
poids) ; la consommation dnergie sera peut tre prendre en
compte par lordonnanceur (energy aware scheduling) ,
o mmoire : faible espace dadressage (small footprint) ,
o disque : souvent absent (disk on RAM)

Contraintes spcifiques au niveau logiciel:


o sret de fonctionnement (capacit accorder une confiance
justifie au service),
o rsistance aux pannes (la panne dun composant ne remet pas
en cause la vie du systme),
o dveloppement en environnement crois (cross compilation),

ENST 8/06/10 86 ENST 8/06/10 87


STR Embarqus STR Embarqus

Systme temps rel embarqu : Systme temps rel embarqu :


Contraintes temporelles Ressources limites

Le STRE reoit des stimuli via ses capteurs et rpond en actionnant les Comme le STR, le STR embarqu (STRE) doit tre prdictible dans les
priphriques adquats. Ces interactions avec le monde extrieur se domaines temporel (chances) et logique (sret, vivacit...)
font de plusieurs manires :
Notion de qualit de la rponse :
- synchrone, (scrutation : clock based system),
- moins prcise, plus rapidement,
- asynchrone, (interruption : sensor based system),
- exacte, moins rapidement,
- combien d'chances peut-on manquer ?
Le STRE doit offrir une bonne ractivit ces vnements extrieurs :
- gestion dterministe des interruptions et des timers,
le STRE a des contraintes supplmentaires:
- importance des interruptions qui indiquent loccurrence d'une
- mettre des signaux ou rpondre des stimuli externes (capteurs)
chance, et en particulier son dpassement. Que doit-on faire
dans une fentre de temps limite (respect des chances,
dans ce cas : arrter le systme, juste la tche fautive, passer dans
dterminisme temporel),
un mode dgrad ?
- se satisfaire de ressources limites (espace mmoire, puissance
Les tches qui grent ces vnements sont :
processeur, nergie, ...), donc utiliser des algorithmes conomes en
- priodiques (dclenchement frquence fixe), consommation de mmoire, nergie, cpu,
- apriodiques (frquence de dclenchement variable) , - scurit, reprise en cas d'erreur, fonctionnement en mode dgrad
- sporadiques (frquence de dclenchement variable mais borne)
Remarque : le critre du WCET conduit la sous-utilisation des
ressources.

ENST 8/06/10 88 ENST 8/06/10 89


STR Embarqus STR Embarqus

Systme temps rel Systme temps rel


embarqu : spcificits (1) embarqu : spcificits (2)
En plus de ceux fournis par les STR, les STRE devront offrir les
services suivants :
Gestion des pannes :
Gestion des entres-sorties :
- interventions de maintenance difficiles ou impossibles, ce qui
- gestion dterministe du temps, mise disposition de timers haute implique :
rsolution,
o un haut niveau de disponibilit,
Gestion de lnergie :
o des mcanismes de reprise en cas d'erreur,
- assurer une faible consommation : les algorithmes utiliss par les
o des possibilits de fonctionnement en mode dgrad,
STR ne pourront pas toujours tre implants par les STRE. Cette
gestion peut se traiter dynamiquement soit au niveau matriel soit Mthodes de dveloppement :
au niveau de l'ordonnancement,
- dveloppement en environnement crois ; mise au point difficile, on
Gestion de la mmoire : attend des outils de trace et de mesure,
- au niveau temporel : allocation des blocs mmoire en temps Adaptabilit :
prdictible (cf. RTSJ),
- adaptabilit la variation de configuration logicielle (cf. les
- au niveau espace dadressage : prise en compte des contraintes de managers de RTEMS),
faible encombrement. Les STRE proposent galement des facilits
pour dimensionner prcisment lespace dadressage dune - adaptabilit aux diffrentes configurations matrielle :
application, o notion de HAL (Hardware Layer) ou de BSP (Board Support
Gestion du disque : Package) : une couche qui spare du noyau les sections de
code spcifiques au processeur. Au-del de cette couche, le
- implantation des file systems en RAM (systme de fichier en systme dexploitation est indpendant du processeur sur
mmoire flash), lequel il s'excute,

ENST 8/06/10 90 ENST 8/06/10 91


STR Embarqus STR Embarqus

Consquences : STRE

Plan
Consquences de ces nouvelles contraintes :
- les algorithmes utiliss dans les STR ne peuvent pas toujours tre
implants cause d'une trop grande consommation de ressources :
1. Prsentation des systmes temps rel embarqus (STRE)
o taille mmoire du code, des donnes,
a. rappels sur les systmes temps rel
o dgradation des performances en fonction des restrictions de
b. contraintes des systmes embarqus
ressources,
c. les STRE
Exemples :
2. Structure et fonctionnement des STRE
- les garbage collectors des machines Java doivent tre repenss
pour les JVM embarques, a. Excutif ou systme
- gestion des file systems en RAM, b. Ordonnancement
- que faire si une chance n'est pas respecte ? Importance des c. Entres/sorties
interruptions qui indiquent la proximit d'une chance ou bien qu'on
l'a manque. 3. Dveloppement d'applications embarques
4. Les STRE disponibles
5. Perspectives

ENST 8/06/10 92 ENST 8/06/10 93


STR Embarqus STR Embarqus

Quel systme Excutif TR


pour les applications embarques ? Ou systme TR ?

Excutif temps rel, moniteur temps rel (par exemple, RTEMS):


Systme ddi ou gnraliste ? - recompil avec l'application, se prsente sous forme dune
- Le construire en tant que tel (cf. cours STR !!!), bibliothque, linke avec l'application. On recharge lensemble
[application+systme] chaque fois quon relance lapplication.
- Le construire en le drivant d'un systme classique (UNIX ou autre),
pour cela, il faut : - Il est de trs petite taille, parce que modulable en fonction de
lapplication,
Niveau systme :
- gestion mmoire trs simple donc efficace en terme de temps,
o rduire sa taille !
- pas d'interface utilisateur, le couple cran/clavier nest plus le
o donner des outils dterministes pour la gestion du temps priphrique privilgi,
(alarmes, signaux),
Systme temps rel (par exemple, Linux) :
o modifier l'ordonnancement (et la synchronisation) pour
respecter les contraintes temporelles, - systme charg en entier en mmoire, il reste en mmoire et permet
lexcution successive de plusieurs applications,
o gestion des ressources prdictible (exemple : allocation
mmoire), - mais il est plus volumineux quun excutif,

Niveau interface avec le matriel: - plus portable ( ?), souvent compatible POSIX,

o outils pour ajouter simplement des pilotes de priphriques, - utilisation plus souple (interface du type shell), mais est-ce
toujours ncessaire ?

ENST 8/06/10 94 ENST 8/06/10 95


STR Embarqus STR Embarqus

Comment choisir Rsum : Evolution des systmes embarqus


le systme (ou lexcutif)?
De la simple boucle de gestion des interruptions (annes 70) la notion
de systme et de BSP (board support package ) :
Structure des annes 70 :
Exemple de critres de choix :
Boucle : tests de variables dtat et excution de fonctions approries.
- sur quelle cible (BSP et processeur) va tre dploye lapplication ?
Mise jour de ces variables par les procdures de gestion des
- quels langages de programmation sont disponibles ?
interruptions bas niveau (ISR, Interrupt Service Routines). Ces
- taille mmoire ncessaire en RAM et en ROM (footprint), procdures sont crites en assembleur.
- pilotes de priphriques disponibles, facilit de leur criture, Structure des systmes embarqus actuels :
- outils offerts par la chane de dveloppement croise, Application crite en langage de haut niveau
- disponibilit ou non du code source, support technique, maturit, Intergiciel (exemple : RT CORBA)
Bibiliothques (exemple : POSIX threads), couches rseau (exemple :
IP stack),
Noyau temps rel embarqu (exemple : RTEMS).
Ordonnancement, synchronisation, gestion mmoire
Processeur et carte lectronique spcifique (BSP, Board Support
Package ; HAL, Hardware Layer)
Matriel pilot (exemple : robot, tlphone portable, ).

ENST 8/06/10 96 ENST 8/06/10 97


STR Embarqus STR Embarqus

Peut-on se passer Peut-on se passer


du STRE ? du STRE ?
1-La boucle de scrutation des vnements

On va maintenant voir pourquoi la gestion directe des vnements,


sans systme dexploitation proprement dit, nest satisfaisante que
La solution la plus simple est la boucle de scrutation de lensemble des
dans les cas les plus simples.
priphriques :
- On envisagera successivement :
- Cest une suite de tests qui vrifie ltat de chaque priphrique :
o La boucle de scrutation,
o Si cet tat a chang, alors excution dune action,
o L excutif cyclique,
o Sinon : rien
- Inconvnients :
o La suite dfinit un ordre, donc une priorit implicite, sur les
traitements,
o Pas de gestion des interruptions : le dialogue avec les
priphriques se fait linitiative de lapplication (alors que
lobjectif peut tre : event driven !),
o Polling (attente active)

ENST 8/06/10 98 ENST 8/06/10 99


STR Embarqus STR Embarqus

Peut-on se passer Peut-on se passer


du STRE ? du STRE ?
2- Amlioration : Excutif cyclique 3 - Excutif cyclique time driven

Excutif cyclique lmentaire:


- Si les traitements sont longs, la simple boucle de scrutation ne suffit - Fonctionnement driv de celui de lexcutif cyclique :
pas, on associe une tche chaque test (cf. dispatcher vs
o Un timer lance les tches,
scheduler),
o Chacune est excute en totalit avant de passer la suivante,
- Remarque : pas de problme de concurrence entre tches : chacune
se termine avant que lon passe la suivante, o La dernire doit se terminer avant la prochaine interruption
timer,
- Inconvnients :
o Pour grer plus finement des vnements frquences
o La boucle doit tre (comme prcdemment) excute une
diffrentes, on peut excuter certaines tches plusieurs fois
frquence permettant le traitement de tous les vnements,
dans un cycle (cycle majeur et cycle mineur),
o Toujours pas de gestion des interruptions : le dialogue avec les
priphriques est linitiative de lapplication (la boucle !),
- On essaie dexcuter les tches aussi vite et frquemment que
possible, mais :
o Le respect des chances importe plus que la rapidit du
traitement,
o Les interruptions ne sont toujours pas gres,

ENST 8/06/10 100 ENST 8/06/10 101


STR Embarqus STR Embarqus

Peut-on se passer Domaines dapplication


du STRE ? Des systmes embarqus
4- Excutif cyclique : limitations

Les domaines traditionnels :


Bilan :
- spatial, avionique (systmes temps rel rpartis embarqus),
- Simple implmenter : excution de traitements frquences
- robotique,
rgulires,
- contrle de processus industriels (chimie, nuclaire, ),
- Pas de gestion des interruptions. Les priphriques (sauf le timer !)
sont grs en polling, linitiative nest pas donne aux stimuli
externes,
Les nouveaux domaines:
- Pas de contrle du temps dexcution des tches (revient faire
- automobile,
FCFS),
- mdical,
- Comment grer le temps :
- lectronique grand public (jeux), tlphonie mobile,
o dcouper en sous tches (pb de partage de donnes),
- systmes embarqus temps rel rpartis grande chelle (digital
o quantum ,
city,),
o dclenchement de chaque tche par un timer ,
- informatique diffuse (pervasive computing, ubiquitous computing),
wearable computer, domotique, objets intelligents (smart objects),
immeubles intelligents

ENST 8/06/10 102 ENST 8/06/10 103


STR Embarqus STR Embarqus

Linformatique diffuse Le march (1)

Tendances :
Linformatique diffuse, omniprsente (pervasive computing, ubiquitous - Ce march devient un march de masse,
computing, Weiser 1993) :
- Standardisation (POSIX temps rel, embedded Linux, RTSJ),
- linformatique disparat, mais elle est partout, invisible pour
- interconnexion des quipements par des rseaux sans fil,
lutilisateur elle entretient avec lui des liens permanents,
- mise en uvre possible grce aux rseaux sans fil : tous les objets
de la vie courante auront-ils une adresse IP ? March atomis :
- Pas d'offre globale (on compose soi-mme sa configuration tant au
niveau matriel que logiciel),
Rle des systmes embarqus dans ce contexte :
- Pas de fournisseur dominant (31% de systmes dits
- contraintes soft real time(multimdia),
"propritaires"),
- gestion de lnergie, gestion de la localisation (par rapport au rseau
- Microsoft, Sun, IBM sont marginaux,
et/ou localisation physique ?) ,
- configuration dynamique de rseaux sans fil (rseaux ad hoc),
- information contextuelle (validit seulement locale dune
information),

ENST 8/06/10 104 ENST 8/06/10 105


STR Embarqus STR Embarqus

Le march (2) STRE

Plan
Type des marchs :
Secteur Maturit Contraintes Tendances
1 Prsentation des systmes temps rel embarqus (STRE)
Scientifique, Forte Performance, Rduction des cots
arospatilae, fiabilit (conomie a. rappels sur les systmes temps rel
militaire d'chelle)
b. contraintes des systmes embarqus
Transports Moyenne Fiabilit, cot Ergonomie, rseau
Industrie Forte Fiabilit, cot Rseau c. les STRE
Bureau Forte Performance, Standardisation, 2 Structure et fonctionnement des STRE
cot puissance
Tlecomm. Forte Performance, puissance a. Excutif ou systme
Fiabilit
b. Ordonnancement : prcisions
Gd public Faible Performance, Internet
cot c. Entres/sorties
Commerce elec. Faible Fiabilit, cot, Commerce en ligne
3 Dveloppement d'applications embarques
scurit
4 Les STRE disponibles
5 Perspectives

ENST 8/06/10 106 ENST 8/06/10 107


STR Embarqus STR Embarqus

Rappels sur la premption


Rappels :
Objectifs du STRE
Premption:
- les tches peuvent tre interrompues par des facteurs qui leurs sont
trangers,

Une application TR embarque doit rpondre des stimuli extrieurs : - exemple : un vnement externe peut ractiver une plus prioritaire
que la courante, il faut alors :
- dans un certaine fentre de temps,
o sauvegarder le contexte de la tche courante,
- mme dans le pire cas,
o crer ou restaurer le contexte de la tche dmarrer,
- dans un contexte de ressources (trs) rduites,

Problmes lis :
en assurant le respect des chances pour les tches critiques,
- quelles tches peut-on prempter (notion de priorit) ?
Attention : une tche de faible importance peut avoir de fortes
contraintes de temps, et une tche de forte importance peut avoir de - gestion fine du contexte,
faibles contraintes de temps), - gestion des donnes partages :
o entre tches, entre tches et ISR ,
il faut excuter au moins un sous-ensemble minimal des tches mme o files de messages, smaphores,
si la charge augmente (gracefull degrade) l'objectif n'est PAS le
rendement,

ENST 8/06/10 108 ENST 8/06/10 109


STR Embarqus STR Embarqus

Gestion des Ordonnancement


Priorits Et changement de contexte

La process table
Comment grer les priorits :
- une entre par tche
- la priorit doit-elle reflter :
- chaque entre contient (ou permet de retrouver) :
o la priode (respect des chances)
o copie de registres
o la criticit (la tche dont lexcution est la plus importante nest
o informations sur la pile : adresse, taille, utilisation
pas forcment celle dont la priode est la plus courte)
o informations sur la consommation des ressources
- priorit fixe (RMS) ou variable (EDF)
o tat du processus
o smaphore sur lequel il est bloqu
o les messages qui lui ont t envoys

ENST 8/06/10 110 ENST 8/06/10 111


STR Embarqus STR Embarqus

Mcanisme Le changement de contexte :


Du changement de contexte (1) La fonction o on ne revient jamais

Choisir un des processus qui sont dans ltat PRET (READY) ou le La fonction ctxswitch:
processus CURRENT :
- change les pointeurs de pile, etc,
- rle du scheduler (qui peut tre une fonction sched ())
- sauve les registres,
Le scheduler :
- restaure le contexte du processus rordonnanc,
- choisit le plus prioritaire des processus READY ou le CURRENT
- ATTENTION : ds que le compteur ordinal est restaur, on part
- fait ventuellement passer le CURRENT en READY dans le code du processus rordonnanc : on ne revient pas de la
- remarque : fonction ctxswitch qui fait le changement de contexte !!!!

o toutes les fonctions du systme cooprent pour grer ltat


des processus : ltat est modifi par les smaphores, les
interruptions, qui appelle ensuite sched ()
- fait passer le processus choisi en CURRENT
- appelle une fonction du type ctxswitch

ENST 8/06/10 112 ENST 8/06/10 113


STR Embarqus STR Embarqus

Le changement de contexte : Changement de contexte


Et ordonnancement

Quelques dtails
- la valeur sauve pour le CO par ctxswitch est sa propre
adresse de retour:
o cest celle o devrait revenir ctxswitch si elle tait une
fonction ordinaire mais elle est appele par un processus A,
elle donne la main un processus B, qui devra repasser le
contrle, non pas a ctxswitch, mais A

- les processus appellent sched () pour faire la changement de


contexte aprs avoir chois le processus activer, donc :
o tous les processus suspendus reviennent dans sched
()aprs lappel ctxswitch
o cest le retour de sched ()qui les renvoie dans la fonction qui
a appel sched()

ENST 8/06/10 114 ENST 8/06/10 115


STR Embarqus STR Embarqus

Le processus Gestion de la concurrence :


null ou idle, Les smaphores

Opration P :
- si le compteur passe ngatif :
le rle de sched ()est seulement de choisir un processus parmi les
READY et CURRENT : o faire passer le processus de CURRENT BLOCKED,
- elle ne cr PAS de processus, o indique le numro du smaphore dans lentre de la process
table associe au processus
- elle ne vrifie pas si la liste des READY est vide,
o appel sched()
- consquence : il doit toujours y avoir au moins un processus dans ltat
READY : le null process

Opration V :
- si le compteur passe ngatif ou nul :
o choisir un processus et le faire passer de BLOCKED
READY,
o appel sched()

ENST 8/06/10 116 ENST 8/06/10 117


STR Embarqus STR Embarqus

Rappel sur lordonnancement de tches Rappel sur lordonnancement de tches


dpendantes (ici, EDF) dpendantes (EDF)

Si une tche (ex : gestion de la direction dun vhicule) attend un Exemple pour trois tches T1, T2 et T3 dont on donne ci-dessous le
rsultat fourni par une autre (ex : dtecteur de choc), on parle de graphe de dpendance :
tches dpendantes,

Modification des paramtres pour prendre en compte les dpendances


entre tche EDF :
- chaque tche doit avoir une chance dont la date est antrieure
celle des tches qui dpendent delle. Lchance Di de Ti devient :
D*i = min { Di, min{ D*j - C j } }, pour j tel que Ti prcde Tj
Rappel des formules :

D*i = min { Di, min{ D*j - C j } }, pour j tel que Ti prcde Tj


- une tche ne peut tre active que si toutes ses prcdentes ont t r*i = max { ri, max{ r*j + C j } }, pour j tel que Tj prcde Ti
actives. Donc la date de rveil dune tche doit tre suprieure
celle de ses prcdentes laquelle a t ajoute la dure Si la dpendance est une communication par message, on ajoute le
dactivation. La date de rveil ri de Ti devient :
dlai ! ij d la dure de la transmission et la date de rveil devient :
r*i = max { ri, max{ r*j + C j } }, pour j tel que Tj prcde Ti
r*= max { r, max{ r*+ C+ ! j } , pour j tel que Tj prcde Ti

ENST 8/06/10 118 ENST 8/06/10 119


STR Embarqus STR Embarqus

Gestion Gestion
des interruptions Des interruptions

On associe chaque interruption une fonction de traitement (vecteur Tables des vecteurs, priorits, masquage, traitement
dinterruption, ISR) : Horloges
- Attention au partage de donnes - real time clock (interrompt le processeur)
o bufferisation , o envoie une interruption chaque tick
o quand passer les donnes aux tches ? o ne gre pas de compteur, le dcompte des interruptions doit
tre fait par le systme

Quand activer ou inhiber les interruptions ? o sert grer des alarmes (quantum, chance), utilisation
dune liste du type delta
- priodiquement : tous les n tics dhorloge,
- time of day clock (consult sa demande par le systme)
- premption,
o mise jour dun compteur qui sera ventuellement lu par le
systme ou les applications

Entres sorties :
- initialisation des vecteurs (bas niveau),
- criture du pilote et des fonctions de haut niveau

ENST 8/06/10 120 ENST 8/06/10 121


STR Embarqus STR Embarqus

Les entres-sorties Spcificit des systmes embarqus :


dans un STRE Gestion de lnergie

Les dispositifs embarqus sont souvent contraints par la ressource


Elment dterminant d'un STRE : la gestion des entres-sorties :
nergie (les batteries ont une capacit limite) :
- lire (priph. , donnes, chance)
- quel niveau grer lnergie : systme, application, matriel ?
On doit pouvoir grer les e/s comme on gre les processus :
- satisfaire la plus prioritaire d'abord,
Le systme peut prendre en charge cette gestion, car il a une vue
- annuler une demande lorsque son chance est dpasse, globale :
- rordonner les demandes si une plus prioritaire arrive, - ordonnancement prenant en compte la gestion de lnergie
Plusieurs stratgies :
Si les tches partagent des ressources (capteurs/metteurs, accs au - transition (passage dun tat un autre), exemple : mise en
rseau) : veille du processeur
- utiliser des algorithmes dordonnancement entre tches - adaptation (changement de technologie), exemple : remplacer
dpendantes, un disque par de la mmoire flash
- utiliser PCP ou PIP pour accder aux smaphores grant les - modification de la charge dun composant, par exemple :
ressources, utiliser des caches (mmoire, disque) ce qui modifie les
stratgies de gestion des disques ,
Attention aux mcanismes matriels :
-entres-sorties excutes par le processeur,
Le matriel propose des outils : mise en veille, rduction de frquence,
-entres-sorties indpendantes du processeur (DMA),

ENST 8/06/10 122 ENST 8/06/10 123


STR Embarqus STR Embarqus

STRE

Plan

1. Prsentation des systmes temps rel embarqus (STRE)


a. rappels sur les systmes temps rel
b. contraintes des systmes embarqus
c. les STRE
2. Structure et fonctionnement des STRE
a. Excutif ou systme
b. Ordonnancement
c. Entres/sorties
3. Dveloppement d'applications embarques
4. Les STRE disponibles
5. Perspectives

ENST 8/06/10 124 ENST 8/06/10 125


STR Embarqus STR Embarqus

Environnement Environnement
de dveloppement de dveloppement

Cycle de mise au point :


Dveloppement en environnement crois : compilateur crois et outils Edition de sources
associs, suivi de mise au point distance ( remote debugging),
Les dveloppements ne se font plus en assembleur, le langage de haut Compilation croise
et ditions de liens
niveau peut prendre en main les problmes proches du matriel,
Tlchargement
Utilisation de plus en plus courante de logiciels du type gnu (gcc,
Moniteur
gdb)
Style de programmation spcifique (pas d'allocation dynamique de Excution et mise
au point
ressources, gestion de timers, criture de pilotes dE/S, ...) Systme +
application
EPROM, Flash
Target (cible) Host (hte) RAM
1. tlchargement
ROM RAM Outils dedveloppement crois

2. Excution/mise Le moniteur sert dmarrer ( booter ) la carte : il initialise les


au point
Processeur A registres de base du processeur, et gre au moins une ligne srie pour
Processeur B
le tlchargement.
Moniteur en ROM
Pas d'cran
Pas de disque

ENST 8/06/10 126 ENST 8/06/10 127


STR Embarqus STR Embarqus

Environnement Exemples
de dveloppement

Plate-forme logicielle de base : RTEMS et ppcboot :


Host (hte)
- un STRE (ex : RTEMS), Target (cible)
1. tlchargement
ROM RAM Outils dedveloppement crois
- un ou plusieurs compilateurs croiss (ex : gcc sur PC-Linux
gnrant du code pour Motorola PowerPC) et des outils de 2. Excution/mise
dveloppement croiss (les bibliothques C), Processeur A au point
Processeur B
- un moniteur (ex : ppcboot) et des protocoles de communication pour
Moniteur en ROM
le tlchargement et la mise au point (ex : tftp), Pas d'cran
Pas de disque
On rappelle ci-dessous la place du BSP qui isole le systme de la
configuration matrielle :
Bibliothque, threads, etc Embedded Linux (< 500K octets avec TCP-IP), et mise au point avec
Systme Pilotes remote gdb :
Processeur de base Carte particulire BSP Cible : plateforme Hte : PC
PowerPC sous Linux
Matriel
1. tlchargement
MPC860 BDM Port parallle

RAM
Interface 2. accs nfs Interface
Pour rduire les cots Ethernet Ethernet
Port srie Port srie
- simulateurs, 3. Excution/mise
au point
COM1

- plate-forme de dveloppement propritaires,


- outils free software,

ENST 8/06/10 128 ENST 8/06/10 129


STR Embarqus STR Embarqus

Du ct du matriel Quelques critres


Pour la conception

A vrifier du ct architecture matrielle : Qualit de la rponse aux stimuli externes,


- gestion des interruptions, - moins prcise, plus rapidement,
- gestion de la mmoire (inhiber la pagination,), - exacte, moins rapidement,
- fonctionnement des horloges, - combien d'chances peut-on manquer ?
- fonctionnement des caches (donnes, instructions, peut on les
verrouiller, les geler, )
Choix des algorithmes :
- ils devront se satisfaire de ressources limites (mmoire, vitesse,
nergie, ...),
- ordonnancement appropri -> RMS , EDF,
- E/S chance -> gestion dalarmes et de timers,

ENST 8/06/10 130 ENST 8/06/10 131


STR Embarqus STR Embarqus

Facteurs STRE
intervenant dans la
gestion du temps Plan
(rappels)

1. Prsentation des systmes temps rel embarqus (STRE)


Facteurs matriels dindterminisme dans la gestion mmoire :
- pagination (en gnral inhibe en embarqu), a. rappels sur les systmes temps rel
- fonctionnement des mmoires caches,
b. contraintes des systmes embarqus

Facteurs matriels dindterminisme dans la gestion du processeur : c. les STRE


- pipe-line, 2. Structure et fonctionnement des STRE
- superscalaire, VLIW
a. Excutif ou systme
Attention au partage des ressources : b. Ordonnancement
- pb. de concurrence (inversion de priorit),
c. Entres/sorties
3. Dveloppement d'applications embarques
Attention la gestion des entres-sorties bas niveau:
- priorits, chances, interruptions 4. Les STRE disponibles

- attention au bon typage des variables (cf. volatile en C pour laccs 5. Perspectives
aux registres des priphriques),

ENST 8/06/10 132 ENST 8/06/10 133


STR Embarqus STR Embarqus

Quelques STR Quelques systmes


embarqus ... Embarqus :

Propritaires :
- LynxOS de Lynx, 4% du march, QNX, 5% du march,
Parmi les systmes temps rel ports sur de nombreuses plateformes,
- iRMX, produit par Intel pour 8086, 5% du march, citons :
- pSOS (ISI) et VRTX (Microtec) pour 68xxx, 9% du march, - RTEMS,
- VxWorks, 286 Ko, de WindRiver (terminaux X, Mars Pathfinder), - Linux (RTLinux),
11% du march,
Dans le domaine des systmes ddis la tlphonie mobile :
- Windows CE (version rduite de NT, pas temps rel, 4Mo RAM),
sur Intel et MIPS, - Symbian,

- VRTX, produit par Hunter et Ready pour 68xxx, 8% du march, - Mobilinux,

- Symbian pour les tlphones portables, JVM : la version RTSJ,

- JavaCard (24 64 Ko de ROM, 512o 2Ko de RAM) ARINC 653, orient avionique, est reprsentatif des recherches
actuelles en haute disponibilit.
free software :
Dans le monde des systmes embarqus sur les mobiles, mais non
- RTEMS de OAR, implment en C et Ada, port sur de trs temps rel : Microsoft Mobile Windows et la JVM J2ME.
nombreux processeurs et BSP,
- eCos de Red Hat,
- Linux embarqus varis (RT-Linux, Linux-RK)
universitaires : Spring, ARTS, Mars, TinyOS

ENST 8/06/10 134 ENST 8/06/10 135


STR Embarqus STR Embarqus

Quelques systmes Quelques systmes


embarqus: RTEMS embarqus : Linux temps rel

RT Linux (Real time Linux), http://www.rtlinuxfree.com et RTAI (Real


RTEMS (Real-Time Executive for Multiprocessor Systems) de OAR Time Application Interface for Linux), http://www.rtai.org) :
(On-Line Applications Research Corporation) http://www.rtems.com : - Construits partir du systme temps partag Linux, qui prsente les
handicaps suivants :
- temps rel dur, port sur de trs nombreuses plateformes
matrielles, o Il existe dans le noyau de longues sections pendant lexcution
desquelles les vnements externes sont masqus. Il peut tre
- excution dterministe : elle ne varie pas en fonction du nombre prempt lorsquil effectue un appel systme ou lorsquil
dobjets prsents sur le systme, temps de latence d aux excute le code relatif une interruption. Pas dapproche
interruptions prdictible, temps rel pour grer les priphriques, support partiel de
linterface POSIX temps rel.
- ordonnancement premptif, bas sur les priorits, RMS fourni,
Deux pour rendre Linux temps rel :
- systme est configurable : seules sont charges les fonctionnalits
(tches, smaphores, timers, ) ncessaires une application - applications de patches sur le noyau pour y placer des points de
donne (notion de manager), on optimise ainsi les performances en premption,
vitesse et on minimise lespace dadressage utilis,
- insertion dun second noyau entre Linux et le matriel (approche
- possibilit dintgrer des services spcifiques par la mise en uvre adopte par RTAI),
dextensions (pour insrer des traces, etc)
Mobilinux (http://www.mobilinux.com), construit sur le noyau Linux
- implment en C et Ada, API POSIX, versions pour Motorola PPC, premptible de Montavista. Il se satisfait dune empreinte mmoire
M68xxx, Intel ix86, i960,MIPS, SPARC, rduite, propose un protocole publish/subscribe, et offre une gestion
dynamique de lnergie (DPM : dynamic power management) ainsi que
des outils de mesure et de trace.

ENST 8/06/10 136 ENST 8/06/10 137


STR Embarqus STR Embarqus

Quelques systmes Quelques systmes


embarqus (sur mobiles ): Embarqus : ARINC 653
Symbian
Symbian, http://www.symbian.com : ARINC 653 ( Aeronautical Radio Inc, http://www.arinc.com) est une
spcification pour lavionique qui dcrit linterface que doit proposer un
- construit au dessus de EKA2 qui est un noyau mono utilisateur, STRE dans une perspective de haute disponibilit :
multitches, premptif, peu consommateur de mmoire et dnergie.
Priorits premptives, synchro. PIP, - indpendance de lexcution des tches de criticits diffrentes en
introduisant la notion de partition. Une partition isole les donnes et
- appels systme en temps born, timer haute rsolution, latence programmes dune application du point de vue mmoire mais aussi
pour le traitement des interruptions est de 0,5ms 1ms. Symbian ne du point de vue temporel : chaque partition dispose de son propre
fait pas dhypothse sur le MMU du processeur et propose espace dadressage et de crneaux de temps. Elle ne peut empiter
plusieurs modles de mmoire. ni sur les crneaux temporels ni sur lespace mmoire des autres
partitions.
- outils de communication entre threads, de gestion des interruptions,
dcriture de pilotes, des moyens pour le contrle gestion de - ordonnancement cyclique : une partition peut tre active une ou
lnergie et la dfinition du HAL. La gestion de la scurit et des plusieurs fois par cycle. A lintrieur dune partition diffrentes tches
fichiers est galement prvue. peuvent tre ordonnances de faon priodique ou non, la norme
attend un ordonnancement par priorit et premptif.
- Gestion de pile GSM.
- La communication entre partitions se fait par messages, les
messages sont reus et mis par les applications sur des ports, le
support de communication est gr par le systme, les applications
ne voient que les ports.
- Les services fournis par le systme sont aussi isols dans une
partition spcifique. Traitement des pannes par limplantation du
Health Monitor.

ENST 8/06/10 138 ENST 8/06/10 139


STR Embarqus STR Embarqus

Quelques systmes Quelques systmes


embarqus: RTSJ embarqus sur les mobiles :
Windows Mobile
RTSJ, Real-Time Specification for Java est une spcification de
fonctionnalits temps rel pour les JVM (http://www.rtj.org) :
- Les apports de cette spcification sont orients vers le dterminisme
temporel : Windows Mobile (http://www.microsoft.com/windowsmobile) :

o Lordonnancement doit tre premptif, avec une gestion FIFO - Windows Mobile 5.0 de Microsoft nest pas temps rel mais
des threads ayant la mme priorit, la JVM ne peut changer la propose la technologie push qui permet de recevoir des mails le plus
priorit dun thread que dans le cas de linversion de priorit, tt possible. Une technologie qui a fait le succs de RIM (Research
In Motion, http://www.rim.com) et Blackberry
o Gestion des threads au niveau utilisateur : (http://www.blackberry.com) : 3 millions d'utilisateurs dans le monde,
! caractrisation fine des threads temps rel en prcisant - possibilit de stockage des informations utilisateur en mmoire
leur cot, leur chance et leur priode, persistante.
! cration de threads de priorit suprieure celle du
garbage collector.
! service de contrle dadmission : on peut demander le
calcul de lordonnanabilit dun jeu de threads.
RTSJ propose aussi des outils pour construire des ordonnancements
RMS, EDF ou LLF, pour crer des zones de mmoire qui ne sont pas
gres par le garbage collector, et met disposition des timers haute
rsolution dterministes ainsi que des mthodes pour la gestion des
vnements asynchrones.

ENST 8/06/10 140 ENST 8/06/10 141


STR Embarqus STR Embarqus

STRE Perspectives :
logiciel
Plan
Les systmes : du plus petit au plus grand :
- Systmes miniatures pour les rseaux de capteurs (micro
systmes) : TinyOS de Berkeley,
- Systmes embarqus distribus grande chelle : quel middleware
1. Prsentation des systmes temps rel embarqus (STRE)
(RT CORBA, ) ?
a. rappels sur les systmes temps rel
Ordonnancement : notions de partitions (ARINC 653), ordonnancement
b. contraintes des systmes embarqus dynamique et adaptable (flexible scheduling, power aware scheduling),

c. les STRE Gestion mmoire dterministe (cf les outils RTSJ),

2. Structure et fonctionnement des STRE Gestion de lnergie : par lordonnancement, par le matriel, la
compilation ?
a. Excutif ou systme
Compilateurs , exemple : impact de la compilation sur la gestion de
b. Ordonnancement lnergie :
c. Entres/sorties - rduction du nombre dinstructions (+)
3. Dveloppement d'applications embarques - unrolling des boucles (-)
4. Les STRE disponibles
5. Perspectives

ENST 8/06/10 142 ENST 8/06/10 143


STR Embarqus

Perspectives :
matriel

Chaque composant doit avoir des performances dterministes :


- caches performants et prdictibles,
- bus (cf. CAN, TTP) et rseau (cf. TDMA, IP ?),
- prfrer des pipe-lines uniques aux architectures superscalaires,

Loi de Moore : les performances technologiques des composants sont


multiplies par deux tous les un trois ans, mais le stockage de lnergie
ne suit pas cette loi

Prendre en compte la gestion de lnergie, lencombrement, la fiabilit,

ENST 8/06/10 144

Vous aimerez peut-être aussi