Вы находитесь на странице: 1из 64

Informatique embarque

Module M1-SIGE : UEF5


B. Miramond & P. Andry

Miramond Benot - UCP

Rgles du jeu
CM
: Octobre Novembre
TP
: Octobre Dcembre
Coupures : Toussaint
Note de CC = CC ou note de TP + Projet
Examen : Dcembre

Miramond Benot - UCP

Intervenants
B. Miramond

: responsable de module

CM (1, 6, 7, 8, 9)

P. Andry :
CM (2, 3, 4, 5)
TP (1, 2, 3, 4)

ATER
TP (5, 6, 7, 8)

Miramond Benot - UCP

Plan gnral des sances de CM (2h)


I.
II.
III.
IV.
V.
VI.
VII.
VIII.
IX.

Introduction lembarqu
Introduction au temps-rel (CM/TP)
Ordonnancement temps-rel
Mcanismes de synchronisation
Conception logicielle en environnement embarqu
Organisation gnrale dun RTOS
Le processus dans la machine
Cas dtude dun RTOS : uC/OS-II
Exemple de plateforme embarque : Carte Altera
Stratix1s10
Miramond Benot - UCP

Planning des TDs/TPs (3h)


1.
2.
3.
4.
5.
1.
1.
2.
3.
4.

TP introduction au temps-rel : Thread Posix


TD1 Ordonnancement
TD2 Ordonnancement
TP uC-linux : chane de compilation croise
TP embarqu : Application sous uC-linux
TP1 prise en main de uC/OS-II sur PC
TP1 Prise en main de la carte Altera
TP2 embarque : Application sur carte
Projet embarqu sur carte
Projet (suite)

Miramond Benot - UCP

Offres demploi 2006

ALTEN, APSIT, APTUS, SYSTRAN, MEDIANE

18 septembre 2006
Nous recherchons pour un de nos partenaires un ingnieur informatique pour participer
la ralisation d'un logiciel C embarqu sous UNIX.
Rattach lquipe de dveloppement du Smart Module , Vous serez galement en
charge de mettre jour une application en C ainsi quun driver de composant sous
LINUX (Debian) embarqu sur une cible de processeur ARM9T. Vous participerez
l'analyse de l'architecture du logiciel, l'laboration des spcifications techniques, ainsi
qu' la conception et le dveloppement du logiciel embarqu.
27 septembre 2006
De formation BAC+5 en informatique la matrise de la programmation C et assembleur sur
DSP.
Dans le cadre de notre dveloppement sur des projets d'envergure, nous recherchons des
ingnieurs ayant des comptences en Linux embarqu.
02 octobre 2006
Au sein d'une quipe de 3 personnes et sous la responsabilit d'un Chef de projet, vous
prenez en charge l'intgration d'un OS Linux dans le cadre d'un systme embarqu dans
le domaine industriel et vous intervennez dans le dveloppement d'applications sur ce
systme (spcifications, conception, test, validation).
De formation Bac+5 cole d'ingnieur ou DESS en informatique industrielle, vous avez
une exprience de 2 ans et plus et justifiez d'une relle expertise en informatique temps
rel sous Linux. Vous matrisez les langages C,C++.

Miramond Benot - UCP

Offres demploi 2007

13 aout 2007 ATOS ORIGIN


Atos Origin est l'un des principaux acteurs internationaux dans les services informatiques (conseil, intgration de
systmes et infogrance). Partenaire informatique mondial des jeux olympiques, il compte parmi ses clients de grands
comptes internationaux dans tous les secteurs. Le centre GTPC ralise des systmes en informatique temps rel,
technique et scientifique dans les secteurs de l'nergie (ptrole, gaz, lectricit).Dans ce cadre, Atos Origin assure le
dveloppement des logiciels embarqus d'un ensemble d'applications d'un grand groupe dans le secteur de
l'exploration et de la production ptrolire. Ces applications sont la pointe des domaines scientifiques et techniques,
et combinent haute technicit et grande fiabilit.
Pour russir ces projets novateurs et ambitieux, nous souhaitons tre "accompagns" par des collaborateurs fort
potentiel technique et relationnel.
- Au sein d'quipes internationales et pluridisciplinaires (lectroniciens, mcaniciens, physiciens, informaticiens)
vous prenez en charge le dveloppement de logiciels embarqus, organiss autour d'architectures rparties.
- Nous recherchons un(e) candidat(e) de formation Bac +5, issu(e) d'une grande cole Informatique et/ou Electronique,
dbutant(e) ou premire exprience de 1 2 ans au sein d'une quipe de dveloppement logiciel.
- Vous matrisez les dveloppements en C++ sur cible PC et vous avez une connaissance du dveloppement en
logiciel embarqu ou temps rel.
- Vos connaissances en lectronique seraient un plus trs apprciable.
22 aout 2007 ADENEO - 28/35 KE
ADENEO, groupe Adetel (450 p) dveloppe des prestations d'tudes et produit des systmes lectroniques et logiciels
pour les gds comptes de l'industrie, dans les domaines de l'aronautique, du ferroviaire, de l'automobile. Ratt au Dir
du Dpt logiciel, vous intervenez au sein de notre BE ou sur site client sur des projets varis et innovants. Vos
missions porteront sur le dvpt de drivers et de BSP, la conception et le dvpt d'appli. temps rel sur processeurs 16
et 32 bits, la mise en oeuvre de couches de comm. et de protocoles (Flexray,1553,ARINC429,MVB), l'expertise
technique auprs de nos clients. Ingnieur en info. industriel, vous tes dbutant ou avec 1re exp. (un an stage
inclus) en dvept de log temps rel (C/C++). Connaissance des noyaux(uC/OS-II) ou Os temps rel
(QNX,eCos,VxWorks) est un +. Bon niveau d'anglais exig. Candidature - ADENEO recrutement@adeneo.adetelgroup.com ou sur www.adeneo.adetelgroup.com
28 aot 2007 - Mediane System
Pour les besoins d'un de nos clients dans le domaine de la Tlvision numrique, nous recherchons activement 3
ingnieurs afin de prendre en charge le dveloppement dun module logiciel intgr dans des dcodeurs de tlvision
numrique. Vous assurez l'architecture gnrale, la conception dtaille et le dveloppement de nouvelles
fonctionnalits et tablissez la documentation associe. Vous prenez galement en charge l'intgration et les tests
unitaires dune librairie dans un dcodeur de tlvision numrique en environnement temps rel. De formation Bac+5
Ecole d'ingnieur ou Universitaire, vous justifiez d'une exprience de 2 ans minimum en dveloppement temps rel
embarqu et matrisez parfaitement les langages C/C++. Vous avez galement une exprience russie en intgration
temps rel et connaissez les principes et normes de la tlvision numrique (DVB, MPEG2, ISO 7816 ...). Anglais
impratif.

Miramond Benot - UCP

Offres 2008

MISSION :
Vous interviendrez sur les diffrentes phases du projet : spcification, dveloppement et tests d'applications, validation, documentation et mise en ?uvre.
VOTRE PROFIL :
De formation bac +4/5 (ingnieur ou universitaire) ou bac +2 expriment, vous tes autonome en dveloppement de Systmes Embarqus et de
dveloppement de Drivers.
Comptences techniques :
- Noyaux temps rel (VxWorks, PSOS, QNX, OSEK...)
- Microcontrleurs : 68HCxx, 80Cxx, PIC, ...
- Langages : C, C++, Assembleur
- Rseaux : CAN, Ethernet
- Gestion de configuration
ATOS ORIGIN
Date : 04/09/2008DVELOPPEUR TEMPS REL EMBARQU C-C++ H/F - CDI Rfrence : SI-SUDEST-SOPH-DLEC++Sophia Antipolis
Vous travaillez en quipe projet et participez aux diffrentes phases du cycle de dveloppement de logiciels embarqus pour le compte d'un de nos plus
grands clients. Pour russir ces projets, nous souhaitons tre accompagns par des collaborateurs fort potentiel. De formation Bac +4/5, type cole
d'ingnieurs ou quivalent universitaire, vous justifiez d'une premire exprience en dveloppement temps rel et/ou embarqu. Vous matrisez les
langages de programmation C/C++ dans diffrents systmes d'exploitation. Idalement, vous avez des connaissances dans le domaine du traitement du
signal. Vous disposez d'une vision large des technologies et de leur utilisation, savez vous investir et comprenez les problmatiques des clients. Ces
atouts vous permettront d'voluer rapidement au sein de notre groupe. Vous tes dynamique, avez le sens du service, et apprciez le travail en quipe,
rejoignez nous !
Sous la responsabilit du client, selon votre niveau d'exprience et vos comptences HW et/ou SW, vous pourrez tre appel intervenir,
En SW sur :
la rdaction de spcifications,
la dfinition darchitectures logicielles,
la conception et le dveloppement de modules logiciels middleware et/ou applicatifs
la conception et le dveloppement de drivers tps rel (communication, interface rseaux, ..)
les tests unitaires,
lintgration/validation en environnement temps rel des logiciels dvelopps
En HW sur :
la rdaction de spcifications,
la dfinition darchitectures matrielles,
la conception et le dveloppement de cartes lectroniques analogiques et/ou numriques,
la programmation de FPGA, DSP et microcontrleurs,
la validation/intgration des systmes lectroniques dvelopps
En Micro-Electronique sur :
la rdaction de spcifications,
la dfinition darchitectures,
le dveloppement dIPs numriques et/ou Analogiques
lintgration/validation dASIC, de SoC
la simulation, la synthse, lanalyse statique de timing (STA), le P&R, le layout
la caractrisation de chips
De formation BAC+5, Ecole dingnieurs ou Universitaire, vous justifiez dune exprience de 1 5 ans (stage significatif accept) :
en conception et dveloppement logiciel, en environnement embarqu (avec ou sans OS temps rel).
En conception Hardware de cartes lectroniques (schmatique, CAO, intgration)
En conception, simulation et validation de FPGA (VHDL, simulateurs, appareils de labo)
En conception micro-lectronique
Vous aimez prendre des responsabilits et savez tre autonome dans votre travail.
La matrise des langages C, C++, JAVA, assembleur, la connaissance des architectures SW, HW, les microcontrleurs/processeurs PIC, Coldfire, ARM,
PowerPC, ARC, , les DSP, les FPGA, le langage VHDL et/ou VERILOG, la CAO lectronique.
Les systmes temps rels, les OS eCOS, Linux, Windows, pSOS, CMX, VxWorks, sont autant datouts indispensables.

Miramond Benot - UCP

Offres d'emploi 2009

INGENIEUR DE DEVELOPPEMENT C EMBARQUE (H/F)

Nous recherchons un ingnieur dynamique pour dvelopper des logiciels embarqus sur nos plateformes.
Nos projets sont principalement orients vers la montique, ils mettent en oeuvre des technologies trs
varies telles que: cartes puce, cartes sans contact, rseaux, Linux embarqu, systmes temps rel et
systmes propritaires.
Les dveloppements s'effectuent principalement en C, une connaissance d'autres langages tels que JAVA,
PERL, PHP est apprcie.
Ingnieur dveloppement temps rel h/f
vry le-de-France
Entreprise: Aketys
Salaire: Entre 30 et 45 K
des comptences confirmes dans plusieurs des logiciels suivants: UML, C, C++, assembleur, OS temps
rel (Linux... pour participer des projets de dveloppement temps rel. Dans une quipe projet, vous
interviendrez... sur le dveloppement d'un logiciel embarqu sur cible (microcontrleur,
microprocesseur) pour des nouveaux produits
Exprience: Vous justifiez d'une exprience d'au moins 3 ans en dveloppement d'applications temps rels
embarqus.
Conditions: Formation: Issu d'Ecole d'Ingnieur Bac + 5 ou plus
Contrat de travail: Dure indtermine
...

Miramond Benot - UCP

Objectif de la formation
1. Savoir dvelopper une application embarque et
temps rel
1. Comprendre les principes de lexcutif dun
systme embarqu
1. Savoir calculer lordonnancabilit dune
application temps rel
1. Comprendre les mcanismes mise en jeu dans le
matriel
Miramond Benot - UCP

10

Plan du Chapitre I (2h)


1. Introduction lembarqu
1. Architecture dun systme embarqu
1. Lembarqu et le temps-rel
1. Le RTOS, une solution acquise
Miramond Benot - UCP

11

1) Introduction lembarqu

Miramond Benot - UCP

12

Dfinition :
quest ce quun systme
embarqu

Miramond Benot - UCP

13

Miramond Benot - UCP

14

March de lembarqu
Augmentation de la densit de calcul des
processeurs selon la loi de Moore (perf, conso,
surface)
=> Explosion du march informatique
=> Baisse des prix
=> Emergence de linformatique embarque
Miramond Benot - UCP

15

Systmes embarqus
Dfinition :
Un systme lectronique est embarqu ou enfoui
lorsquil est un lment constitutif dun systme
plus complexe pour lequel il rend des services bien
prcis (contrle, surveillance, communication).
Il est constitu de parties matrielles et logicielles qui
sont conues spcifiquement pour raliser une
fonction ddie.

Miramond Benot - UCP

16

Domaines dapplication
Applications utilisateur

Jeux, bureautique, services, multimdia


Tlphones, PDA, lecteurs MP3, set top box

Contrle

Contrle-commande (automobile, usines, robots)

Traitement dimages

Tracking, reconnaissance

Traitement du signal

Radar, sonar, avionique


Traitement de grosses quantits de donnes

Network computing

Tlphonie, routeur

Autres, venir

Miramond Benot - UCP

17

Exemple - Netgear DG632 ADSL


hon decoupling electronics (for ADSL).
Modem/router
colour LED (displaying network status).

e colour LED (displaying USB status).


processor, a TNETD7300GDU, a member of Texas Instruments' AR7 prod
G (Joint Test Action Group) test and programming port.
, a single ESMT M12L64164A 8 MB chip.
memory, obscured by sticker.
r supply regulator.
power supply fuse.
er connector.
et button.
rtz crystal.
rnet port.
rnet transformer, Delta LF8505.
721B ethernet PHY transmitter receiver.
B port.
phone (RJ11) port.
Miramond Benot - UCP
18

Exemple Tlphone mobile

Miramond Benot - UCP

19

Caractristiques spcifiques des


systmes embarqus

Les caractristiques principales dun systme


lectronique embarqu sont :
Autonome. Une fois enfouis dans lapplication ils ne
sont (le plus souvent) plus accessibles
Temps rel. Les temps de rponses de ces
systmes sont aussi importants que lexactitude des
rsultats
Ractif. Il doivent ragir larrive dinformations
extrieures non prvues
Contraints. Leurs ressources (calcul, batterie,
mmoire, surface) sont souvent limites
Miramond Benot - UCP

20

2) Architecture dun systme


embarqu

Miramond Benot - UCP

21

Adquation Application-Architecture
(AAA)
Larchitecture du systme dpend directement de
lapplication :

Caractristiques du traitement ralis : besoins en puissance


de calcul, donnes manipuler,
Environnement applicatif : la tlvision numrique sur tlphone
est diffrente dun dcodeur TNT

Il faut donc mettre en adquation lapplication et


larchitecture

Optimisation du code (voir acclration matrielle de certaines


parties)
Dimensionnement de larchitecture pour respecter les
contraintes non-fonctionnelles

On se proccupe donc beaucoup plus des aspects


architecturaux dans lembarqu

Miramond Benot - UCP

22

Architectures embarqus
Besoins

Enfoui

Lger

RAM

< 10 Ko

< 4Mo

ROM/Flash

~ 100 Ko

< 2Mo

Processeurs

PIC
NeC
Fujitsu
Freescale
SoC
Pas de cache
u-contrleur
(automobile,
avionique...)

Matriel sup
Exemple

Moyen

Haut de
gamme

DragonBall
68k
ColdFire
ARM
DSP

Haute
disponib
ilit
2-8 Mo
8-32 Mo > 100
Mo
2-4 Mo
4-16 Mo > 100
Mo
MIPS
MIPS
PowerP
C
ColdFire ARM
ARM
PowerP X86
PowerPC C
x86

Pas de MMU

SoC

PDA, tel,
machine
laver

Routeur,
Wifi,
capteurs

Video
PC
controlle
r
Console Serveur

Miramond Benot - UCP

23

Architecture reprsentative
dun systme embarqu

Miramond Benot - UCP

24

Architectures distribues
2005 : Une automobile de classe haute
contient une centaine de microprocesseurs
(de 8 32 bits)

Miramond Benot - UCP

25

Exemple Automobile (Laguna)

[Renault]
Miramond Benot - UCP

26

Le microprocesseur au centre
2005 : Une automobile de classe haute contient une
centaine de microprocesseurs (de 8 32 bits)
Matriel disponible sans conception
Dveloppement logiciel rapide
Flexible
Bas cot induit par les grandes quantits vendues
Bnficier de la dernire technologie de fabrication
Bnficier de loptimisation de grandes quipes de
concepteurs
Miramond Benot - UCP

27

Quel type de processeur?


Processeurs gnraux
Fonctionnalits multiples
Surdimensionns, frquence leve, conso norme

Processeurs embarqus
Peuvent tre customiss pour une application
Frquence et conso rduites

Processeurs de traitement du signal (DSP)


Traitements intensifs (voix, image)
Tlphones portables

SoC
Microcontrleurs, systme multi composants (proc, ASIC, )
Systmes multi-processeurs

Miramond Benot - UCP

28

MMU ou pas ?
Rle de la MMU hrit de l'architecture Intel
386
Protection mmoire entre espaces d'adressage
des processus
Gestion de la mmoire virtuelle

Encombrement important dans l'architecture


processeur
Latence plus leve pour l'excution des
programmes
OS plus gourmand en empreinte mmoire
Miramond Benot - UCP

29

Le march du processeur embarqu

6 % des processeurs vendus sont destins au march des PC

85 % avec un systme dexploitation (OS) windows


94 % des processeurs vendus sont destins au march de lembarqu

95% avec un OS ouvert


Miramond Benot - UCP

30

Roadmap semi-conducteurs

Miramond Benot - UCP

31

Diffrence avec
linformatique gnrale
Dans les systmes embarqus, les tches
concurrentes sont dfinies statiquement
Un systme est conu pour un nombre
limit de fonctionnalits
Elles ne changent pas avec le temps
Cela autorise de dimensionner au mieux
et doptimiser le systme en fonction de
ses besoins
Miramond Benot - UCP

32

Diffrence avec
linformatique gnrale
Informatique :
Processeur standard

Multiples units fonctionnelles


(flottant, excution
dsynchronise, prdiction)
Frquence leve (> GHz)
Consommation lectrique
leve
Chaleur
Taille

MMU (mmoire virtuelle)


OS
Cache
Grand nombre de
priphriques

Embarqu :
Processeur ddi (contrleur)

Architecture adapte
Vitesse faible (~200 MHz)
8-32bits : mmoire limite
Basse consommation
Petite taille, grand volume =>
faible cot

Processeur DSP (traitements)


Trs puissants

Qqs Mo de mmoire
RTOS
Pas de cache

Miramond Benot - UCP

33

3) Systmes embarqus
temps rel

Miramond Benot - UCP

34

Systmes embarqus temps rel


Systmes embarqus
temps rel

Systmes embarqus

Systmes temps rel

Miramond Benot - UCP

35

Systmes temps rel


Dfinition
Ce sont des systmes lis au contrle de
procds du monde (temps) rel.
Lexcution de traitements dans ces systmes
doit terminer avant une date butoir appele
chance dfinie par la vitesse dvolution de
lenvironnement rel au-del de laquelle les
rsultats ne sont plus valides.
Exemple critique : le contrleur de frein dune
voiture, la sortie du train datterrissage
Miramond Benot - UCP

36

Systmes embarqus
temps rel

Exemples :

Hard real time :


Pilotage automatique de la ligne 14
Dispositif de surveillance dune centrale
nuclaire
Systme de guidage de missiles
Rgulateur de vitesse en automobile
Soft real-time:
Tlphone portable
Lecteur DVD, lectromnager
Miramond Benot - UCP

37

Premire dfinition cf. Chapitre 2


Systme temps-rel dur/stricte (hard real-time)
Le non-respect des chances peut avoir des
consquences graves sur le fonctionnement du systme ou
sur son environnement (auto-pilotage, freinage, assistance
mdicalise).
Les chances ne doivent jamais tre dpasses.
Systme temps-rel mou (soft real-time)
Le non-respect des chances ralentit le systme sans
consquences graves (billetterie automatique).
Le systme doit rpondre au mieux, le plus rapidement
possible. Notion de QoS (Qualit de service)

Miramond Benot - UCP

38

Systmes multi-priodes
La plupart des systmes embarqus sont dit
mutlirate ou multi-priode
Les donnes sont captures un certain rythme (du
monde rel) : tour de roue de lautomobile, fps dune
camra,
Les traitements sur ces donnes ne sont pas
forcment de mme granularit (1 pour 64)
Diffrents traitements peuvent intervenir de manire
indpendante (priodique et apriodique)
Les actionneurs fonctionnent une frquence
diffrente des capteurs
Miramond Benot - UCP

39

Systmes temps rel


Il ne sagit pas de rendre le rsultat le plus
rapidement possible, mais simplement temps.
Lchelle de temps de lchance peut varier
dune application lautre
microseconde en contrle radar
milliseconde pour la synchronisation image/son
(mpeg)
minute pour les distributeurs automatiques

Tous peuvent tre temps rel souples ou durs

Miramond Benot - UCP

40

La notion/modlisation du temps
est fondamentale
Evnemen
Synchrone
t simple

Evnemen
ts
multiples

Entres

Evnemen
t simple

Synchrone
Systme
temps rel
Asynchro
ne

Asynchro
ne

Contraintes
temporelles

Miramond Benot - UCP

Evnemen
ts
multiples

Sorties

41

Dterminisme
Pour tre en mesure de respecter les
contraintes temporelles associes aux
excutions de programmes, le systme
(architecture, application) est conu et
dimensionn de manire rduire tout
indterminisme :
Simplifier les mthodes de gestion matrielle (os)
Ordonnancer les tches les plus urgentes
Dvelopper du matriel ddi aux types de calculs
raliss
Supprimer les caches

Le temps de rponse du systme est garantie!!!

Miramond Benot - UCP

42

Concevoir pour optimiser


Rendre lexcution dterministe
En temps dexcution
En taille mmoire utilise
En consommation dnergie
Optimisations :
Minimiser les communications
Minimiser les synchronisations
Utilisation des proprits de la thorie des
graphes pour manipuler lapplication et son
implantation logicielle et/ou matrielle
Miramond Benot - UCP

43

Les dfis de conception de


lembarqu
Concevoir/Produire vite le logiciel et le matriel
bas cot
Rpondre aux contraintes non fonctionnelles (taille,
performance, consommation, scurit, tolrance)
Apprhender la complexit (matrielle, logicielle et
intergicielle)
Prvoir la rutilisation du systme pour plusieurs
gnrations
Un compromis difficile respecter (problme
multicritres):
cot / performances / consommation
Miramond Benot - UCP

44

Lembarqu un environnement
contraint
On ne travaille donc pas en embarqu comme on
travaille (dveloppe) su PC !!
Performances
Faible Consommation - autonomie
Peu de mmoire
Faible encombrement
Poids rduit

Il faut penser de manire beaucoup plus globale (AAA)

Miramond Benot - UCP

45

Rsum
Les systmes embarqus
Sont en plein essor commercial
et sont donc conus base de processeurs
programmables,
Ce sont des systmes autonomes,
le plus souvent temps rel.

La conjonction de ces facteurs conduit des


contraintes dordonnancement svres en
terme de
Prdictibilit
Taille mmoire
Miramond Benot - UCP

46

4) LOS temps rel,


une solution acquise

Miramond Benot - UCP

47

iveau 5Couche des langages dapplication


Traduction (compilateur)

iveau 4Couche du langage dassemblage


Traduction (assembleur)

iveau 3Couche du systme dexploitation

Interprtation partielle (OS)

Couche architecture du jeu dinstruction


iveau 2
(ISA)
Interprtation (microprogramm
ou excution directe (cabl)
iveau 1
Couche microarchitecture

iveau 0

Matriel
Miramond
Benot - UCP
Couche logique
numrique

48

Quels OS retrouvent-on dans


lembarqu ?
Windows CE-mobile
Linux (free) et ces dclinaisons embarques ou RT
RTlinux
BlueCatLinuxRT
uC-linux
RTAI
OS propritaire (home-made)
QNX neutrino
VXWorks
lynxOS
uC/OS-II

Miramond Benot - UCP

49

La part des OS dans l'embarqu


(source : linuxdevice.com)

Miramond Benot - UCP

50

Quelle diffrence entre OS et


RTOS ?
Le systme dexploitation temps-rel
(RTOS) est :
Dterministe : la dure de chaque service est
dtermine et ne change pas avec les
donnes.
Prvisible : la dure de chaque service est
connue.
Lger
: le code de lOS prend peu de
mmoire (empreinte mmoire)
Ddie, modulable : il fournit des services
ddies selon les besoins de lapplication
Miramond Benot - UCP

51

Le succs de Linux en embarqu

Libre (gratuit)
Open-source
Diffrentes distributions
Stable
Communaut importante (aide web)
Compilateur C associ gratuit (gcc)

Miramond Benot - UCP

52

Comment rendre linux


temps rel ?
Distributions TR
Montavista
LynuxWorks
Redhat
Ubuntu
Patch RT (CONFIG_PREEMPT_RT) de Linux :
Scheduler
Interruption premptibles (thread-IRQ)
Horloge systme plus prcise (nanosec)...
sur une certaine plate-forme, le temps de latence de rponse une
interruption ne sera jamais suprieur 20s, par exemple
http://rt.wiki.kernel.org/index.php/Main_Page
Micro-noyau
Xenomai
Windriver RT Linux (RTAI)
Miramond Benot - UCP

53

Fonctionnalits TR du patch
config_preempt_rt

Miramond Benot - UCP

54

Exemple du micro-noyau
Xenomai

Miramond Benot - UCP

55

Ordonnanceur 2.6
Grande nouveaut : Ordonnanceur en O(1)
2 types de process
Process non-Temps Rel : chaque process se voit attribuer une valeur, appele nice value, qui dtermine la priorit
et le temps dexcution ce temps dexcution est appel timeslice et correspond au temps maximum quun
process peut rester en excution avant de laisser la place un autre. La valeur de nice est comprise entre 20 et
19 inclus, 0 tant la valeur par dfaut et 20 correspond la priorit la plus haute et au timeslice le plus lev
Process Temps Rel : chaque process se voit attribuer une priorit comprise entre 1 et 99 inclus les process nonTemps Rel se voient attribuer galement cette priorit mais avec la valeur 0. 99 tant la priorit la plus leve, on
comprend alors pourquoi un process Temps Rel sera toujours prioritaire devant un autre non-Temps Rel.
Pour les process Temps Rel, il existe deux politiques dordonnancement :
SCHED_FIFO : le process Temps Rel restera en excution tant quaucun autre process Temps Rel de priorit
suprieure strictement ne sera prt ou tant quil ne passera pas ltat bloqu. Sil est prempt, il reste tout de
mme en tte de la liste dexcution des process de mme priorit que lui. Cest donc lui qui sera de nouveau
excut quand le process de priorit suprieure aura termin son excution. Idem sil change de priorit, il sera
plac en tte de la liste des process excutables ayant cette priorit. Il ne passe en fin de cette liste que par appel
explicite de sa part une certaine fonction.
SCHED_RR : la politique est identique en tout point la prcdente, exception faite la prsence dun timeslice
pour les process de mme priorit. Ainsi, sil ny a pas de process de plus forte priorit pour prempter celui en
cours dexcution, au bout dun certain temps ce dernier sera plac en queue de la liste des process de mme
priorit.

Miramond Benot - UCP

56

Trois tests pour les linux RT


Latence d'une tche de forte priorit
Cyclic_test

Inversion de priorit (cf. cours suivant)


classic_pi

Premption et latence de l'ordonnanceur


preempt_test

Temps d'accs noyau


...

http://www.kernel.org/pub/linux/kernel/people/tglx/rt-tests/rt-tests-0.49.t
Miramond Benot - UCP

57

Le bench cyclic_test
sur un systme non Temps Rel :
$> ./cyclictest a t n p99
T:0( 3431)

P:99 I:1000 C: 100000 Min: 5 Act: 10 Avg:

T: 1 ( 3432)

P:98

I:1500

C: 66934

Min: 4

Act: 10

Avg: 17

14 Max:

39242

Max: 39661

Ici, le rsultat du mme test sur un systme


Temps Rel :
$> ./cyclictest a t n p99
T: 0 ( 3407) P:99 I:1000 C: 100000 Min: 7 Act:10 Avg: 10 Max:
T: 1 ( 3408) P:98 I:1500 C: 67043

Min: 7

Act:

Miramond Benot - UCP

Avg: 10 Max:

18
22

58

Latence d'ordonnancement

Histogrammme de
rpartition des apparitions
en fonction de leur latence
Miramond Benot - UCP

59

Quels RTOS seront tudis


dans la formation ? (1)
uC-linux ( You See Linux , Micro
Controller Linux)
1998, portage partir de linux 2.0

Motorola 68000, Colfire


Intel i960
Nios
ARM7

Pas de MMU, pas mmoire virtuelle


Taille noyau < 512 Ko
Pile TCP/IP
Miramond Benot - UCP

60

Quels RTOS seront tudis


dans la formation ? (2)
uC/OS-II (Micro Controller Operating
System)
1992 (J. Labrosse)
40 processeurs diffrents (8-64 bits)
Portable
ROMable
Scalable (modulaire)
Premptif
Dterministe
Pas de MMU
Miramond Benot - UCP

61

Couche des langages dapplication


Workstation
Couche du langage dassemblage

Couche du systme dexploitation


Couche architecture du jeu dinstruction
(ISA)

tlcharger

Cible
embarque

Couche microarchitecture
Miramond
Benot - UCP
Couche logique
numrique

62

Plan gnral des sances de CM (2h)


I.
II.
III.
IV.
V.

Introduction lembarqu
Introduction au temps-rel (CM/TP)
Ordonnancement temps-rel
Mcanismes de synchronisation
Conception logicielle en environnement
embarqu
VI. Organisation gnrale dun RTOS
VII. Le processus dans la machine
VIII. Cas dtude dun RTOS : uC/OS-II
IX. Carte Altera pour lembarqu
Miramond Benot - UCP

63

Bibliographie
Temps rel et embarqu :
MicroC/OS-II, The Real-Time Kernel. J. Labrosse
Hard Real-Time Computing Systems: Predictable
Scheduling Algorithms and Applications (Real-Time
Systems Series) by Giorgio C. Buttazzo (Hardcover Oct 1, 2004)
Real-Time Concepts for Embedded Systems by Qing
Li and Caroline Yao (Paperback - Jul 2003)
Linux embarqu, 2006
Aller plus loin :
Embedded Systems Handbook. R. Zurawski and all
The Art of Designing Embedded Systems. J. Ganssle
Real-Time Systems by Jane W. S. Liu (Hardcover Jun 15, 2000)
Miramond Benot - UCP

64