Escolar Documentos
Profissional Documentos
Cultura Documentos
Rgles du jeu
CM
: Octobre Novembre
TP
: Octobre Dcembre
Coupures : Toussaint
Note de CC = CC ou note de TP + Projet
Examen : Dcembre
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)
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
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++.
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.
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
...
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
11
1) Introduction lembarqu
12
Dfinition :
quest ce quun systme
embarqu
13
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.
16
Domaines dapplication
Applications utilisateur
Contrle
Traitement dimages
Tracking, reconnaissance
Traitement du signal
Network computing
Tlphonie, routeur
Autres, venir
17
19
20
21
Adquation Application-Architecture
(AAA)
Larchitecture du systme dpend directement de
lapplication :
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
23
Architecture reprsentative
dun systme embarqu
24
Architectures distribues
2005 : Une automobile de classe haute
contient une centaine de microprocesseurs
(de 8 32 bits)
25
[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
Processeurs embarqus
Peuvent tre customiss pour une application
Frquence et conso rduites
SoC
Microcontrleurs, systme multi composants (proc, ASIC, )
Systmes multi-processeurs
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
29
30
Roadmap semi-conducteurs
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
Embarqu :
Processeur ddi (contrleur)
Architecture adapte
Vitesse faible (~200 MHz)
8-32bits : mmoire limite
Basse consommation
Petite taille, grand volume =>
faible cot
Qqs Mo de mmoire
RTOS
Pas de cache
33
3) Systmes embarqus
temps rel
34
Systmes embarqus
35
36
Systmes embarqus
temps rel
Exemples :
37
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
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
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
42
43
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)
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.
46
47
iveau 0
Matriel
Miramond
Benot - UCP
Couche logique
numrique
48
49
50
51
Libre (gratuit)
Open-source
Diffrentes distributions
Stable
Communaut importante (aide web)
Compilateur C associ gratuit (gcc)
52
53
Fonctionnalits TR du patch
config_preempt_rt
54
Exemple du micro-noyau
Xenomai
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.
56
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)
T: 1 ( 3432)
P:98
I:1500
C: 66934
Min: 4
Act: 10
Avg: 17
14 Max:
39242
Max: 39661
Min: 7
Act:
Avg: 10 Max:
18
22
58
Latence d'ordonnancement
Histogrammme de
rpartition des apparitions
en fonction de leur latence
Miramond Benot - UCP
59
60
61
tlcharger
Cible
embarque
Couche microarchitecture
Miramond
Benot - UCP
Couche logique
numrique
62
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