Systèmes Embarqués et Temps-Rréel Tristan Crolard Laboratoire CEDRIC Equipe « S

Systèmes Embarqués et Temps-Rréel Tristan Crolard Laboratoire CEDRIC Equipe « Systèmes Sûrs » tristan.crolard@cnam.fr cedric.cnam.fr/sys/crolard 1 Systèmes Embarqués et Temps-Réel Intervenants : Tristan Crolard, Sami Taktak Contenu : • Architectures matérielles et logicielles Techniques de développement - 8 séances ¡ Compilation croisée ¡ Virtualisation • Systèmes temps-réel (en Ada) - 4 séances ¡ Ordonnancement des tâches • Systèmes réactifs : approche synchrone (avec Lustre) - 4 séances 2 « L'Internet des objets revivifie le marché des systèmes d'exploitation temps réel embarqués » Selon ABI Research, l'explosion de l'Internet des objets (IoT) est liée à la résolution de nouveaux défis logiciels, plus particulièrement en termes de déploiement et d'échelonnabilité. Et son avenir repose en partie sur les systèmes d'exploitation temps réel (RTOS) embarqués, aptes à supporter de nombreuses caractéristiques propres aux applications IoT comme la compacité, les ressources de calcul res- treintes, la faible consommation, les capacités de maintenance limitées et les fonc- tionnalités temps réel. [...] Voilà pourquoi le cabinet d'analystes anticipe le fait que 21 milliards d'équipe- ments IoT embarqués dotés d'un RTOS seront commercialisés en 2022. « La formi- dable expansion de l'Internet des objets revivifie le marché des RTOS qui bénéficie des performances croissantes et des prix en baisse des microcontrôleurs, note Michela Menting, directrice d'études chez ABI Research. Et l'on voit que, dans ce cadre, les plates-formes open source bousculent les éditeurs d'OS propriétaires présents depuis longtemps sur le créneau de l'embarqué. »1 1. http://www.lembarque.com/linternet-des-objets-revivifie-le-marche-des-systemes-dexploitation-temps-reel-embarques_005952 3 « Amazon prend à son compte le système d'exploitation temps réel pour microcontrôleurs FreeRTOS » Coup de théâtre dans le Landerneau des systèmes d'exploitation temps réel. Bien connu dans le monde des microcontrôleurs, le noyau open source FreeRTOS est désormais un projet placé sous la bannière d'Amazon Web Services (AWS). Dans la foulée, Richard Barry, le créateur de FreeRTOS en 2003, a rejoint AWS et le géant américain a annoncé la disponibilité immédiate d'Amazon FreeRTOS au sein de son offre IoT « Edge to Cloud ». [...] Plusieurs fabricants de microcontrôleurs et d'outils de développement ad hoc ont d'ores et déjà apporté leur soutien au système d'exploitation temps réel d'Amazon à l'instar de Microchip, NXP, STMicroelectronics, Texas Instru- ments, ARM, IAR, Percepio et Wittenstein. Manquent pour le moment à l'appel, Silicon Labs, propriétaire de Micrium, et Renesas, qui collabore historiquement de manière étroite avec Express Logic.2 2. http://www.lembarque.com/amazon-prend-a-son-compte-le-systeme-dexploitation-temps-reel-pour-microcontroleurs-freertos_006928 4 Les Systèmes Embarqués Terminologie • Systèmes embarqués • Systèmes enfouis • Systèmes temps réel • Systèmes critiques 5 Les Systèmes Embarqués Sources : support de cours de Jean-Ferdinand SUSINI, Samia BOUZEFRANE, Joëlle DELACROIX, Patrice KADIONIK, Marc POUZET • Les OS standards (Windows, Unix, Mac OS, ...) Ce sont des OS généralistes qui comportent un ensemble de bibliothèques très riches. • Les systèmes temps-réel (WxWorks, QNX, LynxOS, ...) Aussi appelés exécutifs temps-réel, ils sont dédiés à des domaines particuliers, notamment dans la robotique, l'automobile, l'avionique, etc. L'ordonnance- ment des tâches est très lié à la notion de temps. • Les systèmes embarqués (Java Card, Windows CE, iOS, Android, ...) Ils sont de taille très réduite, aussi dédiés à des domaines particuliers. On ne peut pas développer directement sur un OS embarqué. 6 Logiciel embarqué • Comme dans toute taxonomie, la définition est complexe et les frontières floues : un logiciel embarqué (embedded software) est un programme utilisé dans un équipement industriel ou un bien de consommation [Ficheux 2010]. Synonyme de logiciel intégré, dédié, enfoui. • Exemples de logiciels : ¡ Programmateur de lave-linge ¡ Commande de vol d'un avion ¡ Gestion de transactions bancaires dans une carte à puce... 7 Logiciel embarqué Le logiciel doit être : • ciblé : limité aux fonctions pour lesquelles il est conçu • fiable : car destiné à un fonctionnement autonome et/ou critique • maintenable pour toute la durée de vie du produit (ex. 10 ans pour une auto- mobile, 40 ans pour un avion) • doté d'une IHM spécifique : l'IHM se réduit à un afficheur de petite taille de type LCD, les périphériques d'entrée sont de petits boutons (évolution de l'IHM vers l'écran tactile comme dans le téléphone, mais nécessite une biblio- thèque graphique adaptée) • optimisé • de petite taille pour le tester, vérifier et/ou le certifier • embarqué sur des équipements produits à grande échelle • performant : du point de vue temps de réponse • ... 8 Logiciel embarqué Un système embarqué : • Est un système numérique • Utilise généralement un processeur • Exécute un logiciel dédié pour réaliser une fonctionnalité précise • Remplace souvent des composants électromécaniques • N'a pas réellement de clavier standard, l'affichage est limité (écran LCD?) ou n'existe pas du tout • N'est pas un PC traditionnel 9 Logiciel embarqué • Pour développer un logiciel embarqué, on utilise un x86 plus pour le maquet- tage même si le processeur cible est PowerPC ou ARM, car : ¡ c'est moins onéreux ¡ la maquette peut servir à une démonstration sur PC ¡ le code produit est destiné à un processeur cible ¡ facilite la mise au point (débogage) du logiciel développé • Exemple du logiciel Qemu qui peut émuler une carte basée sur ARM et qui tourne sur un PC/x86 sous Unix 10 Logiciel embarqué • Un système embarqué est un système d'exploitation avec : ¡ empreinte mémoire faible (quelques Mo, voire quelques Ko en fonc- tion de la plate-forme cible) ¡ ensemble de programmes permettant de gérer les ressources et d'assurer un ensemble de services ¡ évite au développeur de la programmation bas niveau lié au matériel ¡ l'utilisation d'un système ne sera pas nécessaire si la taille mémoire est réduite et si la tâche à accomplir est rudimentaire • Autres caractéristiques habituelles d'un système embarqué : ¡ faible coût ¡ faible consommation (pour maximiser la durée de vie des batteries) ¡ faible encombrement, faible poids (pour les équipements portables) 11 Logiciel embarqué Exemples de domaines d'applications : • Télécommunication: centraux téléphoniques, téléphones mobiles • Réseaux informatiques: routeurs, switchs • Périphériques informatiques: imprimantes, photocopieurs • Transport (aéronautique, ferroviaire, automobile) • Systèmes médicaux, multimédia 12 Logiciel embarqué • Temps partagé et temps réel ¡ Dans les systèmes classiques, le temps est partagé entre les tâches de manière équitable ¡ Dans les systèmes temps-réel, les tâches doivent être exécutées dans les délais impartis • D'où des stratégies d'ordonnancement utilisées différentes : préemption et commutation de contexte ¡ Dans un système temps-réel préemptif : une tâche est sélectionnée par l'ordonnanceur pour obtenir le processeur, cette tâche peut inter- rompre une autre tâche moins prioritaire ¡ Un processus peut être composé de plusieurs threads : le passage d'une thread à une autre est un changement de contexte rapide car les threads partagent le contexte du processus auquel elles sont atta- chées 13 Logiciel embarqué L'empreinte mémoire est la taille mémoire occupée par le système. La réduction de l'empreinte mémoire est une des tâches principales d'un développeur de système embarqué car : • la taille mémoire disponible (RAM, ROM, Flash) est très réduite • l'impact économique est énorme lors de l'industrialisation finale du produit (le matériel est généralement dimensionné en fonction du logiciel) 14 Logiciel embarqué Langages utilisés : • Assembleur pour des fonctions spécifiques (drivers) • Langages C : programmation proche du matériel donc adapté à l'embarqué • Langage Ada : langage de plus haut niveau que le C, mais conçu pour ce type de développement (permet de s'abstraire de l'OS) • Langage Java : Java Card (cartes à puce, JavaME ou Java Android pour les téléphones) 15 Importance du couple matériel-logiciel • Un exemple : la MMU (Memory Management Unit) ¡ Composant matériel qui permet (i) la conversion des adresses vir- tuelles en adresses physiques, (ii) le contrôle l'accès mémoire des applications (SIGSEGV si accès à l'espace noyau) • Il existe des processeurs sans MMU (ex. ARM 7) • Il existe des OS qui n'utilisent pas la MMU ¡ VxWorks n'utilise pas la MMU par défaut (le noyau et les programmes se partagent le même espace mémoire) ¡ uClinux: noyau Linux utilisable pour des processeurs avec et sans MMU (www.uclinux.org), utilise uClibc. Inconvénient : pas de protec- tion mémoire sans MMU (une application erronée peut donc planter le système) 16 Domaine de l'avionique Dans un Airbus A340 [Boniol 1998], Il y a 115 équipements avec : • 3 calculateurs qui élaborent les paramètres inertiels • 2 calculateurs qui implémentent les lois de guidage • 5 calculateurs qui implémentent les lois de pilotage • 2 calculateurs d'alarmes... 17 Système embarqué sur une carte à puce Système propriétaire ou machine virtuelle Java (Java Card): • ROM/ RAM/EEPROM: quelques Ko (16Ko à 256 Ko). • utilisé dans la téléphonie, paiement bancaire, transport, santé, accès... cartes à contact, sans contact ou les deux (dual interface) • Pour les Java Card, les API sont réduites 18 Système embarqué sur un téléphone Exemple de l'iPhone 4 • Processeur 1 GHz • RAM: 512 Mo • Mémoire Flash: 32 Go 19 Choix d'un processeur 32 bits pour l'embarqué Besoin Minia- ture Petit Moyen Haut de gamme PC embarqué Embarqué haute disponibilité Taille RAM <0,1 Mo 0,1-4 uploads/Management/ cours-1.pdf

  • 19
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager
  • Détails
  • Publié le Mar 16, 2021
  • Catégorie Management
  • Langue French
  • Taille du fichier 0.1065MB