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
● 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é CPU Logiciel ou OS Ports de diagnostic Convertisseur N/A Systèmes auxiliaires Mémoire ASIC (application specific integrated circuit) IHM Convertisseur A/N Sauvegarde et sécurité du système Environnement extérieur Capteurs Acteurs
Contraintes d un système embarqué
Contraintes matérielles
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)
● 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
Windows CE (2) – Matériel requis ● Processeur supporté ● Horloge pour les interruptions planifiés (calendrier, alarme) ● Mémoire
Architecture de Windows CE OEM Hardware Embedded Shell Applications WIN32 APIs COREDLL, WINSOCK, OLE, COMMCTRL, COMMDLG, WININET, TAPI Windows CE Shell Services Remote Connectivity KernelLibrary IrDA GWES Device Manager FileManager TCP/IP OAL Bootloade r Drivers Device drivers File drivers Microsoft OEM ISV, OEM
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) Matériel Contrôle Matériel Cache SGF Interface appels-systèmes Bibliothèque s Contrôlleurs Caractère | bloc IPC Scheduler MMU Gestion des processus Application s
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