Jacques Gangloff, Loïc Cuvillon. 14 février 2012

Documents pareils
Installation et prise en main

SRS DAY: Problématique liée à la virtualisation

Diagrammes de Package, de déploiement et de composants UML

Systèmes embarqués D.Rossier

Mécanismes de protection dans AUTOSAR OS

Leçon 1 : Les principaux composants d un ordinateur

PC, Tablette, Smartphone, comment choisir ce qui me convient le mieux?

L intelligence intégrée et connectée au cœur de vos projets. Dossier de presse

MAC-TC: programmation d un plate forme DSP-FPGA

Les tablettes. Présentation tablettes Descriptif Fournisseurs Caractéristiques Comparatifs Conseils Perspectives Démonstration

Sur un ordinateur portable ou un All-in-One tactile, la plupart des éléments mentionnés précédemment sont regroupés. 10) 11)

PRESENTATION RESSOURCES. Christian Dupaty BTS Systèmes Numériques Lycée Fourcade Gardanne Académie d Aix Marseille

Tous les conseils de nos experts pour bien l utiliser.

energy BOX WEB Automates de GTB

Sauvegarde. de données. Nos conseils de prise en main

Janvier 2013 AUDIO/VIDEO PLAYER AUDIO VIDEO OEM DIVERS

Panorama de l offre et des usages des tablettes

Construction et sécurisation d'un système Linux embarqué. Frédéric AIME

Atelier numérique. Développement économique de Courbevoie. Internet / Extranet / Mobilité : Prospection et Support d'aide à la vente

Exclusivite magasin DISTRICOUNT. with you. with you. always. always

Hiérarchie matériel dans le monde informatique. Architecture d ordinateur : introduction. Hiérarchie matériel dans le monde informatique

Enjeux et perspectives des logiciel temps réel critiques dans l automobile :

Introduction à l architecture des ordinateurs. Adrien Lebre Décembre 2007

Série Pro Toshiba Business Vision

Note comparative entre les caractéristiques des tablettes numériques, smartphones et pocket PC pour la collecte de données naturalistes de terrain

ERESI : une plate-forme d'analyse binaire au niveau noyau. The ERESI team

Plate formes mobiles. Utilisation. Contexte 9/29/2010 IFC 2. Deux utilisations assez distinctes :

Environnements et Outils de Développement Cours 1 Introduction

Capacité de mémoire Tablettes

Découverte de l ordinateur. Partie matérielle

Manuel d utilisation

CHOIX ET USAGES D UNE TABLETTE TACTILE EN ENTREPRISE

VMWare. Vmware: machine virtuelle Un véritable pc avec : VmWare

CENTRALE DE SURVEILLANCE EMBARQUEE MULTIMEDIA

Modèle Memo Pad 8 ME180A Transformer Book Trio TX201 Asus Memo Pad 7 ME173 X Asus ME102A Asus Transformer Book T100

Plan de la conférence. Virtualization. Définition. Historique. Technique. Abstraction matérielle

Structure de base d un ordinateur

L accès à Internet. Votre fournisseur d accès à Internet 1/2. Box internet. Box internet. Décodeur TV. Décodeur TV. Freebox. Livebox.

Session 8: Android File System

TABLETTE MPMAN MP724 : EMPORTEZ LE MONDE AVEC VOUS

Architecture des ordinateurs Introduction à l informatique

SRS Day. Attaque BitLocker par analyse de dump mémoire

Guide des Spécifications Techniques

ARCHITECTURE ET SYSTÈMES D'EXPLOITATIONS

Programmation C. Apprendre à développer des programmes simples dans le langage C

Votre premier projet Android

Windows 7 - Installation du client

CH.3 SYSTÈMES D'EXPLOITATION

Xen. Quelques notes autour de Xen

Mise en oeuvre TSM 6.1

Création d une application Android (APPInventor)

Des solutions adaptées à l éducation

Le langage C++ est un langage de programmation puissant, polyvalent, on serait presque tenté de dire universel, massivement utilisé dans l'industrie

TD/TP 1 Introduction au SDK d Android

DESCRIPTIF DES PROJETS 3EME ANNEE QUI SERONT PRESENTES LORS DE LA JOURNEE DE PROJET DE FIN D ETUDE LE 26/01/2012

DÉVELOPPEMENT D UNE APPLICATION DE COMMUNICATION BLUETOOTH SUR ANDROID. Projet de fin d étude VAP «Architecte de Services en Réseau»

L ORDINATEUR. Les composants. La carte mère. Le processeur. Fréquence

Manuel d utilisation

IFT Systèmes d exploitation - TP n 1-20%

Détection de pollution maritime avec GNU/Linux. Eric Bénard - eric@eukrea.com - 08 juillet 2010

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

V3 - Une Appliance Conçue pour le VDI


Android 4 Les fondamentaux du développement d'applications Java

as Architecture des Systèmes d Information

- TP Programmation Android - NFA024 Conservatoire National des Arts et Métiers

L informatique en BCPST

essentiels avec vos points fi délité, bénéfi ciez de prix avantageux sur les mobiles (3) nouveau nouveau Samsung E1200 Samsung E1190 Nokia 108

COMMUNIQUE DE PRESSE. Paris, le 10 mars 2015

LES OUTILS DE LA MOBILITE

Un nouveau modèle d'identité NFC compatible avec l'écosystème mobile, et cas d'usage

EN Télécom & Réseau S Utiliser VMWARE

3. L'icône ordinateur

Android 2.3 Gingerbread

Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if

Chapitre 1 Retour en arrière

Vivre avec Linux en dehors des ordinateurs

LA TABLETTE, UN OUTIL POLYVALENT!

Le livre numérique. Découverte des nouveaux supports de lecture. Image Elliot Lepers - CC-BY-SA-NC

Les avantages de la virtualisation sont multiples. On peut citer:

Thank you for choosing the Mobile Broadband USB Stick. With your USB Stick, you can access a wireless network at high speed.

Leica icon Series. Guide d'installation et d'activation de licence. Version 1.0 Français

Projet VDI le futur poste de travail

Chapitre 1 : Introduction aux méthodologies de conception et de vérification pour SE

Vers du matériel libre

1/6. L icône Ordinateur

11 Février 2014 Paris nidays.fr. france.ni.com

VMware ESX/ESXi. 1. Les composants d ESX. VMware ESX4 est le cœur de l infrastructure vsphere 4.

Ed 03/95 PAQ 1530 NON URGENTE (INFO PRODUIT) TEMPORAIRE DEFINITIVE

Surveillance de Scripts LUA et de réception d EVENT. avec LoriotPro Extended & Broadcast Edition


Entreprise Chiffres clefs

TAI049 Utiliser la virtualisation en assistance et en dépannage informatique TABLE DES MATIERES

Projet de Bachelor Virtual Desktop Infrastructure

SCHMITT Année 2012/2014 Cédric BTS SIO. TP Serveur Backup

Sans trop entrer dans les détails, la démarche IO Model consiste à : Pour cela, Microsoft découpe la maîtrise de l infrastructure en quatre niveaux :

Visualization sur Ubuntu: Quels Choix? Nicolas Barcet

Android. Programmation. De la conception au déploiement avec le SDK Google Android 2. Damien Guignard Julien Chable Emmanuel Robles

Transcription:

Systèmes temps réel et systèmes embarqués Systèmes embarqués Jacques Gangloff, Loïc Cuvillon Ecole Nationale Supérieure de Physique de Strasbourg 14 février 2012 Jacques Gangloff (ENSPS) Systèmes temps réel et systèmes embarqués Année scolaire 2007-2008 1 / 31

Plan Plan 1 Introduction Concepts de base Statistiques / tendances Exemples d utilisation Avantages/Inconvénients de linux 2 Mémoire embarquée Le stockage non volatile 3 Programmation d un système embarqué La compilation croisée Emulation 4 Examples Android Gumstix Jacques Gangloff (ENSPS) Systèmes temps réel et systèmes embarqués Année scolaire 2007-2008 2 / 31

Introduction Plan 1 Introduction Concepts de base Statistiques / tendances Exemples d utilisation Avantages/Inconvénients de linux 2 Mémoire embarquée Le stockage non volatile 3 Programmation d un système embarqué La compilation croisée Emulation 4 Examples Android Gumstix Jacques Gangloff (ENSPS) Systèmes temps réel et systèmes embarqués Année scolaire 2007-2008 3 / 31

Introduction Définition Définition Un système embarqué (Embedded system en anglais) désigne un matériel électronique comprenant au moins un microprocesseur (ou microcontrôleur) et un logiciel dédié à sa gestion. Exemples de systèmes embarqués : téléphone mobile, navigateur GPS, routeur ethernet (Box Adsl), lecteur de DVD, contrôleur d injection moteur, télécommande, électroménager,... Jacques Gangloff (ENSPS) Systèmes temps réel et systèmes embarqués Année scolaire 2007-2008 4 / 31

Introduction Concepts de base Contraintes Les systèmes embarqués ont des contraintes spécifiques : Coût très bas Encombrement réduit Robustesse aux chocs, à la température, à l humidité. Autonomie donc faible consommation Bonnes performances Temps de démarrage court Caractéristiques Ces contraintes entraînent des caractéristiques particulières : Stockage de masse sans entraînement mécanique (robustesse aux chocs, consommation, temps de démarrage) Processeurs basse consommation (consommation, dissipation) Mémoire vive et mémoire de masse de taille limitée (coût, encombrement, temps de démarrage) Processeurs avec fonctionnalités minimum (coût, consommation, encombrement) Processeurs intégrant plusieurs fonctions (system on chip ou SoC) Jacques Gangloff (ENSPS) Systèmes temps réel et systèmes embarqués Année scolaire 2007-2008 5 / 31

Introduction Statistiques / tendances Types de processeurs Historique de l utilisation des processeurs Jacques Gangloff (ENSPS) Systèmes temps réel et systèmes embarqués Année scolaire 2007-2008 6 / 31

Introduction Statistiques / tendances Types de processeurs Tendances futures d utilisation des processeurs Jacques Gangloff (ENSPS) Systèmes temps réel et systèmes embarqués Année scolaire 2007-2008 7 / 31

Introduction Statistiques / tendances Utilisation de linux pour l embarqué Linux pour l embarqué comparé à d autres OS Jacques Gangloff (ENSPS) Systèmes temps réel et systèmes embarqués Année scolaire 2007-2008 8 / 31

Introduction Statistiques / tendances Début 2012 2012 Q1 : Arm et Android ARM équipe 92% des systèmes embarqués (source : Fitzpatrick, J. (2011). An interview with Steve Furber. Communications of the ACM.) dont la quasi-totalité des smartphones : 1 Iphone/Ipad : Apple A5 (SOC avec core ARM Cortex A9) fondu par Samsung 2 Samsung Galaxy S : Exynos (SOC avec core ARM Cortex A9) fondu par Samsung 3 HTC desire : Snapdragon (SOC avec CPU ARM Cortex A8) fondu par Qualcomm Jacques Gangloff (ENSPS) Systèmes temps réel et systèmes embarqués Année scolaire 2007-2008 9 / 31

Introduction Exemples d utilisation Par domaine d application PDA / tablettes : Zaurus, Nokia N800, XO, Sony MYLO... Téléphones : Motorola, NEC, Panasonic,... Robotique : nomadic, barrett robotics, HRP Audio/Vidéo : Lecteur de DVD Dlink, convertisseurs Hauppage, pinnacle audio athenaeum, caméra wifi TRENDNET Modems / routeurs Wifi : pratiquement tous Autres : PlayStation 3, GPS TomTom, FreeBox, caméra intelligente Sony XCI-SX1 Jacques Gangloff (ENSPS) Systèmes temps réel et systèmes embarqués Année scolaire 2007-2008 10 / 31

Introduction Avantages/Inconvénients de linux Avantages de linux Gratuit Multi-plateformes Sources disponible (nombreux exemples) Outils de développement performants Adapté aux processeurs sans MMU Robuste Version temps-réel Inconvénients de linux Pas de support technique contractuel Obligation de publier les sources (pas de module binaire dans le noyau) Pas adapté aux systèmes à taille mémoire très réduite ( 4 Mo) Jacques Gangloff (ENSPS) Systèmes temps réel et systèmes embarqués Année scolaire 2007-2008 11 / 31

Introduction Avantages/Inconvénients de linux Références http://linuxdevices.com/ http://uuu.enseirb.fr/ kadionik/embedded/embeddedlinux.html http://free-electrons.com/ http://uuu.enseirb.fr/ kadionik/formation....../embeddedlinux/introduction.html Linux magazine hors série No 25, Avril/Mai 2006. http://en.wikipedia.org/wiki/flash_memory Jacques Gangloff (ENSPS) Systèmes temps réel et systèmes embarqués Année scolaire 2007-2008 12 / 31

Mémoire embarquée Plan 1 Introduction Concepts de base Statistiques / tendances Exemples d utilisation Avantages/Inconvénients de linux 2 Mémoire embarquée Le stockage non volatile 3 Programmation d un système embarqué La compilation croisée Emulation 4 Examples Android Gumstix Jacques Gangloff (ENSPS) Systèmes temps réel et systèmes embarqués Année scolaire 2007-2008 13 / 31

Mémoire embarquée Le stockage non volatile 2 technologies Mémoire flash NOR ou NAND. Piéger des électrons dans la grille d un transistor MOS. Durée théorique du piégeage : 10 ans. NOR : rapide en lecture, lent en écriture, permet XIP. NAND : lecture par bloc, plus endurant que la NOR (environ 10x plus de cycles). Gestion des erreurs : micro-contrôleur embarqué (SD-card, MemoryStick, CF-cards) ou géré directement par l OS (jffs2 sous linux). SD card 2 Go : 2x 1go chips NAND 1 chip controller en bas Jacques Gangloff (ENSPS) Systèmes temps réel et systèmes embarqués Année scolaire 2007-2008 14 / 31

Programmation d un système embarqué Plan 1 Introduction Concepts de base Statistiques / tendances Exemples d utilisation Avantages/Inconvénients de linux 2 Mémoire embarquée Le stockage non volatile 3 Programmation d un système embarqué La compilation croisée Emulation 4 Examples Android Gumstix Jacques Gangloff (ENSPS) Systèmes temps réel et systèmes embarqués Année scolaire 2007-2008 15 / 31

Programmation d un système embarqué La compilation croisée La compilation croisée Compilation effectuée sur une machine puissante avec code assembleur généré pour le CPU du sustème embarqué. Le code est transmis au système embarqué par une procédure du flashage. La compilation est rarement réalisée sur le système embarqué lui-même car il n inclut pas les outils de développement très consommateurs de place (200 Mo pour gcc). L environnement de compilation croisée s appelle toolchain. Jacques Gangloff (ENSPS) Systèmes temps réel et systèmes embarqués Année scolaire 2007-2008 16 / 31

Programmation d un système embarqué Emulation Emulation Pour accélérer le développement on peut développer le système dans un émulateur (Qemu, Bochs, VMWare,...) On peut brancher un débogueur sur l émulateur, figer la machine émulé On peut démarrer plusieurs machines virtuelles sur la même machine physique Limitation : le matériel émulé ne se comporte pas tout à fait comme le matériel réel Jacques Gangloff (ENSPS) Systèmes temps réel et systèmes embarqués Année scolaire 2007-2008 17 / 31

Examples Plan 1 Introduction Concepts de base Statistiques / tendances Exemples d utilisation Avantages/Inconvénients de linux 2 Mémoire embarquée Le stockage non volatile 3 Programmation d un système embarqué La compilation croisée Emulation 4 Examples Android Gumstix Jacques Gangloff (ENSPS) Systèmes temps réel et systèmes embarqués Année scolaire 2007-2008 18 / 31

Examples Android Developpement d applications sous Android Compilation croisée pour ARM et API Android : Android SDK. Emulateur Smartphone : basé sur qemu. Déboguage : avec client ADB (android debug bridge) sur -l émulateur -un smartphone connecté en USB. Jacques Gangloff (ENSPS) Systèmes temps réel et systèmes embarqués Année scolaire 2007-2008 19 / 31

Examples OSEK 1 système d exploitation temps réel développé dans les années 90 par BMW, Bosch, DaimlerChrysler, Opel, Siemens, VW, Renault. pour équiper les ECU (Electronic control Unit) embarqués dans l automobile : -Injection -Verrouillage porte -Airbag -ABS architecture complète en 3 systèmes : -le système d exploitation -gestion du réseau (bus : CAN,...) -communication entre ECU Jacques Gangloff (ENSPS) Systèmes temps réel et systèmes embarqués Année scolaire 2007-2008 20 / 31

Examples OSEK : propriété du système d exploitation Noyau (système) statique! -nombre de tâche, sémaphores définis à la compilation du système -un fichier en langage OIL définit le nombre et la propriété des tâches -le système se résume à 1 seul binaire contenant le système et les tâches l équivalent de pthread create() ou fork() n existe donc pas très faible empreinte mémoire sur un micro-controlleur ordonnancement préemptif à priorité fixe. Jacques Gangloff (ENSPS) Systèmes temps réel et systèmes embarqués Année scolaire 2007-2008 21 / 31

Examples OSEK : objets statiques disponibles TASK : définit une tâche EVENT : définit un événement sur lequel peut bloquer une tâche COUNTER : définit un compteur ALARM : déclenche une action après un nombre de compte du compteur -actions : ACTIVATETASK pour activer une tâche (crée 1 tâche périodique) - SETEVENT : déclence un événement RESSOURCE : définit un sémaphore pour protéger une ressource Jacques Gangloff (ENSPS) Systèmes temps réel et systèmes embarqués Année scolaire 2007-2008 22 / 31

Examples OSEK : propriété des tâches Tâche -4 états : Ready, Running, Waiting, Suspended -Waiting : la tâche bloque en attente d un événement -Suspended : Tâche terminée = inactive La tâche passe à l état Suspended avec l appel TerminateTask() ; (obligatoire à la fin du code de la tâche) Une tâche ne peut être suspendre par une autre tâche. Propriété d une tâche : -PRIORITY : 1-15 -SCHEDULE : FULL (préemptible) ou NON (non-preemptible) -ACTIVATION : nbre d activation parralèlle (1=tâche doit finir pour pouvoir redémarrer) -AUTOSTART : si actif au démarrage de l os Jacques Gangloff (ENSPS) Systèmes temps réel et systèmes embarqués Année scolaire 2007-2008 23 / 31

Examples Etat d une tâche Jacques Gangloff (ENSPS) Systèmes temps réel et systèmes embarqués Année scolaire 2007-2008 24 / 31

Examples Génération du système (1 binaire unique) Un fichier de configuration.oil déclarant les objets et leurs propriétés un traducteur du.oil en.c et le code c de chacune des tâches Jacques Gangloff (ENSPS) Systèmes temps réel et systèmes embarqués Année scolaire 2007-2008 25 / 31

Examples NxtOSEK 1 système OSEK pour le lego NXT lego NXT (256 Ko Flash, 56Ko de RAM) périphèriques : capteurs et actionneurs API : nxt motor set speed() ecrobot get touch sensor() Flashage du système utilitaire nextool : copie du binaire en flash par USB le firmware du NXT permet d exécuter le binaire le binaire écrase en RAM le firmware par le système OSEK Jacques Gangloff (ENSPS) Systèmes temps réel et systèmes embarqués Année scolaire 2007-2008 26 / 31

Examples NxtOSEK : 1 exemple 2 tâches de périodes 1 et 500ms chaque tâche modifie la vitesse d un moteur fichier de configuration : example.oil 1 2 taches de priorité différentes 2 1 compteur utilisé par les alarmes 3 2 alarmes de périodes 1 et 500 ms ayant pour action d activer les tâches fichier d instruction pour les tâches : example.c Jacques Gangloff (ENSPS) Systèmes temps réel et systèmes embarqués Année scolaire 2007-2008 27 / 31

Examples example.oil /* Definition of application mode */ APPMODE appmode1{}; /* Definition of Task1 */ TASK Task1 { AUTOSTART = FALSE; PRIORITY = 3; ACTIVATION = 1; SCHEDULE = FULL; STACKSIZE = 512; /* Stack size */ }; /* Definition of Task2 */ TASK Task2 { AUTOSTART = FALSE; PRIORITY = 2; ACTIVATION = 1; SCHEDULE = FULL; STACKSIZE = 512; /* Stack size */ }; Jacques Gangloff (ENSPS) Systèmes temps réel et systèmes embarqués Année scolaire 2007-2008 28 / 31

Examples /* Definition of OSEK Alarm Counter */ COUNTER SysTimerCnt { MINCYCLE = 1; MAXALLOWEDVALUE = 10000; TICKSPERBASE = 1; /* One tick is equal to 1msec */ }; /* Definition of Task1 execution timing */ ALARM cyclic_alarm1 { COUNTER = SysTimerCnt; ACTION = ACTIVATETASK { TASK = Task1; }; AUTOSTART = TRUE { ALARMTIME = 1; CYCLETIME = 1; /* Task1 is executed every 1msec */ APPMODE = appmode1; }; }; /* Definition of Task2 execution timing */ ALARM cyclic_alarm2 { COUNTER = SysTimerCnt; ACTION = ACTIVATETASK { TASK = Task2; }; AUTOSTART = TRUE { ALARMTIME = 1; CYCLETIME = 500; /* Task2 is executed every 500msec */ APPMODE = appmode1; }; }; }; Jacques Gangloff (ENSPS) Systèmes temps réel et systèmes embarqués Année scolaire 2007-2008 29 / 31

Examples example.c /* OSEK declarations */ DeclareCounter(SysTimerCnt); DeclareTask(Task1); DeclareTask(Task2); /* Task1 executed every 1msec */ TASK(Task1) { if (ecrobot_get_touch_sensor(nxt_port_s1)) nxt_motor_set_speed(nxt_port_a, 0, 1); else nxt_motor_set_speed(nxt_port_a, 50, 1); } TerminateTask(); /* Task2 executed every 500msec */ TASK(Task2) { if (ecrobot_get_touch_sensor(nxt_port_s1)) nxt_motor_set_speed(nxt_port_b, 0, 1); else nxt_motor_set_speed(nxt_port_b, 50, 1); } TerminateTask(); Jacques Gangloff (ENSPS) Systèmes temps réel et systèmes embarqués Année scolaire 2007-2008 30 / 31

Examples Gumstix Gumstix (cf TP 3) Micro-carte mère ARM (64 Mo RAM et 16 Mo Flash) Buildroot (ensemble de scripts) compile : -1 noyau Linux 2.6 ARM -busybox pour ARM (1 binaire pour la majorité des commandes shell linux) -1 Toolchain : gcc pour cible ARM Emulation : qemu architecture ARM Flashage du noyau et système de fichiers JFFS2 : - utilisation du u-boot ( bios du gumstix) - avec la liaison serie Jacques Gangloff (ENSPS) Systèmes temps réel et systèmes embarqués Année scolaire 2007-2008 31 / 31