Vous êtes sur la page 1sur 29

Les systèmes embarqués

Plan
● Généralités
● Caractéristiques
● Contraintes d un système embarqué
● Systèmes embarqués pour assistants personnels
(PDA)
● Linux sur micro-controlleur: μC : uCLinux
Généralités
Historique
● Apparition en 1971 avec le Intel 4004

● A l’origine, ce sont des systèmes matériels et


logiciels intégrés dans des avions militaires ou
des missilles. Ensuite dans le civil: avions,
voitures, machine à laver...!

● Par extension, on considère aussi les systèmes


spécifiques fixes (telle une borne dans un
magasin) comme des systèmes embarqués.
Définition

● Un système embarqué est un système


électronique et informatique autonome ne
possédant pas des entrées/sorties standards
comme un clavier ou un écran d'ordinateur.
Exemples
● Un four à micro ondes.
● Une télécommande de TV
● Un lave linge
● Le pilote automatique d un avion
● Etc...
Caractéristiques
Caractéristiques
● La machine et le logiciel sont intimement liés et
noyés dans le matériel et ne sont pas aussi
facilement discernables comme dans un
environnement de travail classique de type PC

● De conception sûre!!!(avion, ABS)


● Contraintes physiques fortes: dimensions, poids,
taille autonomie, consommation
● Fiabilité, contraintes temporelles ( temps réels )
Organisation d un système embarqué
Environnement
extérieur

ASIC Logiciel Mémoire


(application specific
integrated circuit) ou OS

Capteurs Convertisseur A/N CPU Convertisseur N/A Acteurs

Ports de Systèmes
IHM
diagnostic auxiliaires

Sauvegarde
et sécurité
du système
Contraintes d un système embarqué
Contraintes matérielles
Besoin Miniature Petit Moyen Haut de gamme PC embarqué Embarqué haute disponibilité
Taille RAM <0,1 Mo 0,1-4 Mo 2-8 Mo 8-32 Mo 16-64 Mo > x Mo
2-4 Mo
Taille ROM/FLASH 0,1-0,5 Mo 0,5-2 Mo FLASH 4-16 Mo FLASH Xx Mo Go-To
DragonBall 68K MIPS
Mcore Hitachi SH
ColdFire x86 Pentium
Processeurs ARM PowerPC PowerPC
Ardoise Internet
Carte unité centrale
Caractéristiques matérielles MMU optionnelle System on Chip (SoC) CompactPCI
Routeur
Caméra numérique Décodeur Commutateur téléphonique
PDA Stockage en réseau Routeur haute performance
Exemples d’applications Téléphone Imprimante en réseau Serveur central
Les contraintes de développement
● Compléxité croissante
● Applications temps réels
● => Genie Logiciel, conception orientée objet
● => UML et SDL (Specification and
Description...)
● Le matériel: puissance limité , pas de MMU,
capacité
Contraintes de développement (2)
● Absence de MMU: impossible d utiliser fork()
● Utilisation de vfork() de BSD (crée un processus
sans copier la table d adressage du père mais en la
partageant)
● Système de fichier en mémoire: RAMDisk ou
FLASHDisk, problème en cas de crash
Utilité d un système embarqué
● Programmation haut niveau ( C,C++, librairies)
● Indépendance du matériel
● Industrialisation
● Gestion de la mémoire
● Multi-utilisateur
Systèmes embarqués pour assistants
personnels (PDA)
Windows CE
● Approche Modulaire
● Portable sur plusieurs processeurs
(ARM/StrongARM, MIPS, PPC, SuperH, X86)
● Compatibilité avec Win32
● Connectivité
● Traitement temps rééls
● Pas seulement déstinés au Pocket PC(..hum, hum)
Windows CE (2)

– Matériel requis
● Processeur supporté
● Horloge pour les interruptions planifiés
(calendrier, alarme)
● Mémoire
Architecture de Windows CE
Microsoft OEM ISV, OEM

Applications

Embedded Shell
Remote
Windows CE Shell Services Connectivity

WIN32 APIs
COREDLL, WINSOCK, OLE, COMMCTRL, COMMDLG, WININET,
TAPI

Kernel Device File


GWES
Library Manager Manager
IrDA TCP/IP
OAL
Device File
Bootloade Drivers
drivers drivers
r
OEM Hardware
Architecture Windows NT4
Lineo Embeddix
● Approche Noyau Unix classique (monolithique)
● Portable sur plusieurs processeurs
(ARM/StrongARM, MIPS, PPC, SuperH, X86)
● Compatibilité avec Unix et GNU
● Connectivité
● Traitement temps rééls avec module
● Fonctionne sur Sharp Zaurus et systèmes à base
de microcontrolleurs
Lineo Embeddix (2)

– Matériel requis
● Processeur supporté ou microcontrolleur
● Horloge pour les interruptions planifiées
(calendrier, alarme)
● Mémoire avec ou sans MMU
Lineo Embeddix (3)
Applications
Bibliothèques

Interface appels-systèmes

Gestion des processus


SGF
IPC
Scheduler
Cache
MMU
Caractère | bloc
Contrôlleurs

Contrôle Matériel

Matériel
Comparatif

– WinCE+ : Architecture modulaire, interface win32


– WinCE- : Machine puissante nécessaire
– Embeddix+ : Portable,logiciels GNU, interface ~POSIX
– Embeddix- : Noyau monolithique, espace occuppé
UCLinux
Le marché de l embarqué
● Le marché mondial du processeur ne se résume
pas au x86
● 1.4Milliards de processeurs 8 bits vendus en 2000
● 108Millions de x86 vendus en 2000 soit 5% des
ventes mondiales
● 60% des utilisent un OS propriétaire, le reste
logiciel libre
Linux dans l embarqué

● Depuis 1999, on retrouve Linux dans l embarqué


● Le developpement d un OS pour l embarqué
coute cher
● Linux est libre, gratuit, plusieurs distributions
● Stack IP en standard
Atouts Linux
● Taille du noyau modeste compatible avec les
tailles de mémoires utilisées dans un système
embarqué (500 Ko pour Hard Hat Linux de
MontaVista).
● Différentes distributions proposées suivant le
domaine : routeur IP, PDA, téléphone...
● Support du chargement dynamique de modules
qui permet d’optimiser la taille du noyau.
Conclusion

– Contraintes de développement importantes


– Développement d un OS embarqué cher
– Portabilité difficille
– Domaine d utilisation nombreux...marché à forte évolution

Vous aimerez peut-être aussi