Les Systèmes Embarques
Les Systèmes Embarques
Les Systèmes Embarques
aussi simple qu'une diode électroluminescente LED( Light Emitter Diode) qui
clignote
ou aussi complexe qu'un système de vision de nuit en temps réel .
Certains doivent répondre à des contraintes de temps réel pour des raisons de
fiabilité et de rentabilité.
Les systèmes embarqués ne sont pas toujours des modules indépendants. Le plus
souvent ils sont intégrés dans le dispositif qu'ils contrôlent.
Il est stocké dans de la mémoire en lecture seule ou de la mémoire flash plutôt que
dans un disque dur.
Les systèmes embarqués exécutent des tâches prédéfinies et ont un cahier des
charges contraignant à remplir, qui peut être d'ordre :
De coût. Le prix de revient doit être le plus faible possible surtout s'il est produit en
grande série. Il convient de concevoir des systèmes embarqués qui répondent au
besoin au plus juste pour éviter un surcoût.
Temporel, dont les temps d'exécution et l'échéance temporelle d’une tâche sont
déterminés. Cette dernière contrainte fait que généralement de tels systèmes ont des
propriétés temps réel.
De sûreté de fonctionnement. Car s'il arrive que certains de ces systèmes
embarqués subissent une défaillance, ils mettent des vies humaines en danger ou
mettent en périls des investissements importants. Ils sont alors dits « critiques » et ne
doivent jamais faillir.
De fiabilité : Les systèmes embarqués sont la plupart du temps dans des machines
qui doivent fonctionner en continu pendant de nombreuses années, sans erreurs et,
dans certains cas, réparer eux-mêmes les erreurs quand elles arrivent. C'est pourquoi
les logiciels sont toujours développés et testés avec plus d'attention que ceux pour
les PC.
Architecture
Les systèmes embarqués utilisent généralement des microprocesseurs à basse
consommation d'énergie (Dans le sens commun l'énergie désigne tout ce qui permet
d'effectuer un travail, fabriquer de la chaleur, de la lumière, de produire un
mouvement.) ou des microcontrôleurs, dont la partie logicielle est en partie ou
entièrement programmé dans le matériel (on parle alors de firmware). généralement
en mémoire dans une mémoire morte (ROM), EPROM, EEPROM, FLASH, etc.
Architecture générale et modes de fonctionnement
Certains systèmes embarqués peuvent ne pas avoir d'interface utilisateur.
Les systèmes les plus simples comportent uniquement des boutons, des LED.
Les systèmes les plus complexes peuvent avoir un écran tactile ou encore un écran
comportant des boutons de façon à minimiser l'espace.
Une interface style page web sur une connexion au réseau. Cela permet d'éviter le
coût d'un système sophistiqué tout en conservant une interface complète sur un autre
ordinateur, quand cela est nécessaire.
Classification des systèmes embarqués
Système Transformationnel : Activité de calcul, qui lit des données et des entrées
lors de son démarrage, qui fournit des sorties, puis meurt.
Caractéristiques
Le code du SE et celui de l’application résident dans la mémoire non volatile
La gestion des ressources est spécifique à celles présentes
Moins de surcharge de traitement (overhead)
SE de bureau vs. SE embarqué
SE de bureau : l’application est compilée/assemblée séparément du SE
Au démarrage du système, le SE est lancé en premier
SE embarqué : l’application est compilée/ assemblée et liée de concert avec le SE
Au démarrage du système, l’application est lancée en premier; elle part le SE ensuite
Seuls les composants du SE (services, routines, ou fonctions) requis par l’application
sont ajoutés au code exécutable par l’éditeur de lien
Exemples de systèmes d'exploitation
PalmOS
gestion de la mémoire simplifiée
primitives de gestion de bases de données et de l’écran
bibliothèques mathématiques
applications minimalistes (philosophie du Palm)
mono-application et mono-thread
ne nécessite pas beaucoup de puissance (m68k 20MHz, ARM à 200MHz en émulation m68k)
Windows CE
tous les services d’un Windows
fiabilité d’un Windows (mauvaise)
facilité de portage des applications
pas de gestion du temps-réel
nécessite un processeur très puissant (ARM 400MHz)
Symbian OS
orienté téléphonie
gestion des contacts
gestion de réseaux divers (SMS, BlueTooth, GSM, TCP/IP)
gestion multimedia
synchronisation sur réseau lent over the air
supporte Java (JavaPhone)
nécessite moins de ressources que Windows CE
Linux
tous les services de Linux
fiabilité de Linux (bonne)
multi-applications
très gourmand en ressources
logiciel libre
nécessite un processeur puissant (PowerPC 50MHz)
RTEMS et eCos
exécutif configurable pour ne garder que ce qui est nécessaire
services de synchronisation
gestion du temps
entrées/sorties
gestion du réseau
logiciel libre
ne nécessite pas beaucoup de puissance (m68k à 33MHz)
Forth
langage de programmation et système à lui tout seul
mono-application mais multi-threads en mode coopératif
permet le test interactif
ne nécessite pas beaucoup de ressources (PIC 16f876, 2k de programme, 80 octets de RAM)