Vous êtes sur la page 1sur 16

LOGO

Cours OS Embarqué
3ème Ingénieur Mécatronique

Chapitre I :
Introduction au Système
d’Exploitation Embarqué

1
Ce cours

Contient 14 séances de 3h:


 Des cours (au moins 8 de 1h30)
 Des TPs (plus de 10 de 1h30)
 Pas de TDs …
Evaluation:
 Contrôle continu (1/2)
• DS
• Projet TP
 Examen final (1/2)

2
Contenu du cours

Cours:
 Revoir toutes (la plupart) les fonctionnalités des OS:
• Plus en détails
• En se focalisant sur ce qui est spécifique à l’embarqué
 Etude de cas: FreeRTOS
TP
 Etude approfondie du FreeRTOS
• Manipulation des outils permettant de s’y faire
 Projet autour de FreeRTOS sur carte STM32 Discovery

3
Qu’est ce qu’un système embarqué

C’est un système électronique et informatique


autonome qui est dédié à une tâche particulière et
contenue dans un système englobant. Il n’est «
généralement » pas programmable.
 Pas d’E/S standards
 Matériel et application intimement liés
 Logiciel enfoui … noyé dans le matériel … pas facilement
discernable comme dans un PC.
Il sont partout !!!
Radio/réveil , Machine à café, Télévision /
télécommande, Moyen de transport
4
Caractéristiques principales d’un système embarqué

Système principalement numérique


Met généralement en oeuvre un processeur
Exécute une application logicielle dédiée précise (non
pas une application scientifique ou grand public  tend
à être moins vrai)
Il n’a pas réellement de clavier standard et l’affichage
est limité
D es architectures à basse consommation (l’une des
contraintes …).

5
Système embarqué typique

6
Quelques propriétés des systèmes embarqués

 Ciblé: domaine d’action limité aux fonctions pour lesquelles il a été


crée.
 Simple: gage de robustesse
 Fiable: fonctionnement complètement autonome.
 Sécurisé
 Maintenable dans le temps: certains produits sont censés durer
jusqu’à 20 ans et plus (surtout dans le domaine militaire)
 Interface spécifique: approche matérielle à cause de contraintes
d’optimisation
 Optimisé: généralement logicielles de petite taille car plus c’est
grand, plus il y a de chance d’avoir des bugs. Ce sont des logiciels
produits à grande échelle, le moindre centime compte.
 Tolérant aux fautes 7
Logiciel/matériel embarqué

Logiciel embarqué: programme/application utilisé dans


un équipement et complètement intégré dans ce dernier.
Système embarqué: Matériel(s) + logiciel(s) (+ OS)

2 types de systèmes embarqués (UNE classification):


1.Systèmes embarqués destinés à l’utilisateur (high-end):
généralement une version dégradée d’un OS existant (ex:
Linux). Ex: routeurs, PDA, smartphone, etc.
2.Systèmes embarqués profondément enfouis: peu de
fonctions, très petite empreinte mémoire, généralement
construit from scratch. Appareil photo numérique, téléphones
portables, etc.
8
Système d’exploitation

un programme qui permet à un utilisateur « ordinaire »


d'accéder à toutes les fonctionnalités du processeur :
➢ à la CPU
➢ à la mémoire
➢ aux fichiers
➢ aux périphériques
➢ au réseau etc...
 cache la complexité des opérations
permet d'accéder à des ressources privilégiées sans avoir
besoin de droits spéciaux (et dangereux...)
9
Système d’exploitation pour l’embarqué ?

Pourquoi un système d’exploitation pour l’embarqué ?


 Affranchir le développeur de logiciel embarqué de bien connaître
le matériel  gain en temps de développement
 Les applications doivent avoir un accès aux services de l’OS via
des APIs (réutilisabilité du code, interopérabilité, portabilité,
maintenance aisée)
 Environnement de développement plus performant
 Time-to-market 

10
OS Embarqué : pourquoi ?

 Le développeur de logiciel embarqué n’a pas besoin de bien


connaître le matériel  gain en temps de développement

 Les applications doivent avoir un accès aux services de l’OS


via des APIs
• Réutilisabilité du code, interopérabilité, portabilité, maintenance
aisée…

 Possibilité de bénéficier des mêmes avancées technologiques


que les applications classiques (TCP/IP, HTTP, etc.)

 Environnement de développement plus performant


11
OS Embarqué : pourquoi ?

L’OS n’est pas forcement obligatoire:


 Quelques langages intègrent des fonctionnalités poussées :
ada, java

 Certains projets sont très simples

 Contrainte matérielle très grande (mémoire, …)

12
Système Temps réel

 Satisfaire aux contraintes fonctionnelles et temporelles qui


lui sont imposées
 Répondre à des stimuli extérieurs
– En prenant en compte l’écoulement du temps
– Indépendamment du flux d’instructions traité par le
processeur
 Notion de contrainte temps réel:

13
OS temps réel

Un système d'exploitation avec des propriétés particulières


devant satisfaire les contraintes des applications temps réel
➢ mécanismes « standards » pour la gestion des ressources
(CPU , mémoire, etc...)
➢ mécanismes et outils spécifiques pour assurer
✔ la prédictibilité du comportement: arriver à prouver que toutes les
contraintes (notamment les délais) sont respectées au moins pour
les tâches critiques du système
✔ le respect des échéances
✘ ordonnancement
✘ gestion du temps avec une précision compatible avec l'échelle de temps
de l'application
14
Classification OS Embarqué

Temps-réel Gestion Gestion de Taille MV


Périphérique fichier
VxWorks X X Ko
QNX X X X Mo
µC/OS X Ko
eCos X X X Mo
FreeRTOS X Ko
contiki Ko
WindowsCE X X Mo X
LINUX X(RTAI, …) X X Mo X

15
TP0: Sans OS
• TP0 : Faisons clignoter des LEDs
1. Compiler et exécuter le projet
2. Ajouter une seconde Led (Rouge) qui clignote avec la
même fréquence que la LED Bleu
3. Modifier la Fréquence de clignotement de la LED
Rouge : 250ms
4. Modifier la Fréquence de clignotement de la LED
Rouge : 300ms
5. Modifier la Fréquence de clignotement de la LED
Rouge : 258ms

16

Vous aimerez peut-être aussi