Travaux Pratiques de l option STR



Documents pareils
Systèmes et exécutifs temps-réel

Mécanismes de protection dans AUTOSAR OS

Exécutif temps réel Pierre-Yves Duval (cppm)

REALISATION d'un. ORDONNANCEUR à ECHEANCES

1 Mesure de la performance d un système temps réel : la gigue

Cours A7 : Temps Réel

Ordonnancement temps réel

1 Architecture du cœur ARM Cortex M3. Le cœur ARM Cortex M3 sera présenté en classe à partir des éléments suivants :

Introduction aux systèmes temps réel. Iulian Ober IRIT

Modules du DUT Informatique proposés pour des DCCE en 2014/2015

Introduction aux Systèmes et aux Réseaux

Programmation temps-réel Cours 1 et 2 Introduction et ordonnancement

Processus! programme. DIMA, Systèmes Centralisés (Ph. Mauran) " Processus = suite d'actions = suite d'états obtenus = trace

Annexe 6. Notions d ordonnancement.

DAns un système multi-utilisateurs à temps partagé, plusieurs processus

Cours de Systèmes d Exploitation

Introduction à Java. Matthieu Herrb CNRS-LAAS. Mars

Informatique industrielle A Systèmes temps-réel J.F.Peyre. Partie I : Introduction

ORDONNANCEMENT CONJOINT DE TÂCHES ET DE MESSAGES DANS LES RÉSEAUX TEMPS RÉELS 4. QUELQUES EXEMPLES DU DYNAMISME ACTUEL DU TEMPS RÉEL

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

Drupal vs La concurrence

4D v11 SQL Release 5 (11.5) ADDENDUM

Cours Programmation Système

Fiche Produit Announce

Projet Robot Centaure

Ordonnancement temps réel

Logiciel EV3 LEGO MINDSTORMS Education

Bacula. It comes by night and sucks the vital essence from your computers. Guillaume Arcas

Temps Réel. Jérôme Pouiller Septembre 2011

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

RTDS G3. Emmanuel Gaudin

Mesure de performances. [Architecture des ordinateurs, Hennessy & Patterson, 1996]

Projet Active Object

Fiche Produit IPS Manager Assistant

Les systèmes embarqués Introduction. Richard Grisel Professeur des Universités Université de Rouen Nacer Abouchi Professeur ESCPE Lyon

Logiciel Libre Cours 3 Fondements: Génie Logiciel

Linux embarqué Retour d expérience et temps réel. Denis Coupvent-Desgraviers

Détecteur de fumée. ALIMENTATION par pile 9V Communication. Modèle Ei 605C Optique. Description du produit. Fonctionnement

GUIDE D INSTALLATION RAPIDE S2-FIXE-RTC

Runtime. Gestion de la réactivité des communications réseau. François Trahay Runtime, LaBRI sous la direction d'alexandre Denis Université Bordeaux I

SOMMAIRE MONTAGE DU COMPTEUR ET CAPTEURS...3 LE MOT DU CHEF DE PRODUIT...5 L ORGANISATION DE L ECRAN...5 LES PICTOGRAMMES UTILISES...5 LES BOUTONS...

Temps Réel. Jérôme Pouiller Septembre 2011

CEG4566/CSI4541 Conception de systèmes temps réel

Systèmes d exploitation Gestion de processus

ARDUINO DOSSIER RESSOURCE POUR LA CLASSE

Problèmes liés à la concurrence

4D v11 SQL BREAKING THE LIMITS * Les nouveautés

Applications Embarquées Critiques

1 Introduction C+ + Algorithm e. languag. Algorigramm. machine binaire. 1-1 Chaîne de développement. Séance n 4

Fiche Produit IPS Lock

Débuter avec EXPRESS. Alain Plantec. 1 Schema 2

Introduction au temps réel

CELTIC-BAAS-Sa BAAT3003

J2SE Threads, 1ère partie Principe Cycle de vie Création Synchronisation

Manuel SAFE-O-TRONIC access Identification électronique et système de verrouillage par NIP Item No

AUTOPORTE III Notice de pose

MANUEL D UTILISATION (simplifié) DE LA CENTRALE LS-30

White Paper - Livre Blanc

Fiche Produit IPS Pager

La carte à puce. Jean-Philippe Babau

JOG : une approche haut niveau des systèmes embarqués via Armadeus et Java

Coffret Distributeur de DJ10: Distributeur de jetons (Avec PC embarqué Siemens et suite logicielle)

Table des matières PRESENTATION DU LANGAGE DS2 ET DE SES APPLICATIONS. Introduction

Introduction aux «Services Web»

Introduction : les processus. Introduction : les threads. Plan

NFP111 Systèmes et Applications Réparties

Bases Java - Eclipse / Netbeans

Cours CSE-2009 MSR - Corrigé TEST 1

Cours de Génie Logiciel

Remplacement du système de contrôle d accès de l Enssat

Les processus métiers : concepts, modèles et systèmes

Nouvelles stratégies et technologies de sauvegarde

Extension d'un outil de trace pour système embarqué temps réel. Encadrants : Laurent Pautet, Jérôme Hugues

imvision System Manager

Contexte et motivations Les techniques envisagées Evolution des processus Conclusion

Évaluation et implémentation des langages

MEAD : temps réel et tolérance aux pannes pour CORBA

Java - la plateforme

Cours 1 : Qu est-ce que la programmation?

Solution de Mobilité SAP SUP & AFARIA. Meltz Jérôme

Exclusion Mutuelle. Arnaud Labourel Courriel : arnaud.labourel@lif.univ-mrs.fr. Université de Provence. 9 février 2011

Initiation au HPC - Généralités

Fiche Produit IPS Global Directory & Options

Capteur mécanique universel HF 32/2/B

NFP 121. Java et les Threads. Présentation : Thierry Escalarasse Mai 2007

TP1 : Initiation à Java et Eclipse

Création d une application Android (APPInventor)

La solution à vos mesures de pression

Haka : un langage orienté réseaux et sécurité

Qui ont toujours à mon côté pour me soutenir et me guider au long de ce projet.

SYSTEME D ALARME CONNECTE. Guide d installation et d utilisation

Présentation et installation PCE-LOG V4 1-5

UC4 effectue tout l ordonnancement batch pour Allianz en Allemagne

La dernière base de données de Teradata franchit le cap du big data grâce à sa technologie avancée

Cours Master Recherche RI 7 Extraction et Intégration d'information du Web «Services Web»

Argument-fetching dataflow machine de G.R. Gao et J.B. Dennis (McGill, 1988) = machine dataflow sans flux de données

Transcription:

Travaux Pratiques de l option STR

Processeur Détecteur ultrasons Moteurs Détecteur de contacts Détecteur de lumière Détecteur de sons

RTOS (OSEK/VDX) ECRobot C/C++API

Gestion des moteurs Vitesse, angle Capteur de lumière Lecture valeur (0..1023), grande valeur = noir Touch sensor Lecture valeur (on/off) Sound sensor Lecture valeur (0..1023), grande valeur = fort Numéros de port en paramètre!

Sonar Lecture distance de l obstacle en cm Son Joue des sons (notes individuelles, wav) Etat de la brique Boutons (enter/run), état de la batterie, heure système Display Différents formats, très rustique Attention : appeler display_update!

Créé dans les années 90 par un consortium de sociétés automobiles et d universitaires Objectif : standard d architecture ouverte pour l électronique embarquée dans les véhicules Trois parties dans l architecture Système d exploitation Gestion du réseau Communication (échanges de données entre U.C.) Standard d interface, diverses implantations Dans les TP : Trampoline (open-source, Irccyn)

Noyau statique Objets du système définis à la compilation (tâches, messages, sémaphores, etc ) Langage de définition des services : OIL (OSEK Implementation Language) Faible consommation mémoire Classes de conformité: différentes «versions» du noyau par rapport aux appels système disponibles

Application Configuration file (OIL) User s source User s code source (C) code (C) System generator (SG) Files produced by SG (C) Compiler Linker OSEK OS Kernel Device driver Executable file 9

Gestion de tâches Interface de mise au point (Hooks) Synchronisation Gestion du temps Interruptions Gestion mémoire : inexistante

Tâches basiques N ont pas accès aux services de synchronisation Tâches étendues Ont accès aux services de synchronisation Un état supplémentaire : waiting Attributs (statiques, liste non exhaustive) PRIORITY (grande valeur = grande priorité) SCHEDULE (NON ou FULL) : préemptif ou non ACTIVATION : nombre max. d exéc. simultanées AUTOSTART : défini si activé au démarrage de l OS STACKSIZE : taille de pile 11

Ordonnancement non préemptif Pour tâches non préemptibles (SCHEDULE = NON) Conservation du processeur tant qu une de ces tâches s exécute Passage en mode non préemptif possible en-ligne Ordonnancement préemptif Pour tâches préemptibles (SCHEDULE = FULL) En-ligne, préemptif Par priorités (valeur la plus haute = tâche plus prioritaire) Priorités statiques 12

Fichier OIL (attributs de la tâche) TASK nomtache { PRIORITY = entier; AUTOSTART = TRUE ou FALSE; ACTIVATION = entier; SCHEDULE = FULL ou NON; STACKSIZE = 4096; (autres attributs non explicités ici) }; Fichier C (corps de la tâche) TASK(nomtache) { /* Code C décrivant le comportement de la tâche */ } 13

ActivateTask : activation d une tâche TerminateTask : terminaison d une tâche (obligatoire) ChainTask : terminaison et activation combinée Schedule : appel explicite à l ordonnançeur GetTaskID: retourne l identificateur de tâche GetTaskState : retourne l état d une tâche (RUNNING, WAITING, READY, SUSPENDED, INVALID_TASK) Pas de création dynamique de tâche! 14

Hooks : définition Fonctions écrites par l utilisateur Appelées par le système d exploitation à des points clé de son exécution. Interface standardisée Propriétés Plus haute priorité que les tâches Non interruptibles par interruptions de catégorie 2 (voir plus loin) Appels système disponibles restreints 15

Points d appels des hooks Démarrage du système (fin du démarrage du système, avant exécution de l ordonnançeur, qui lance les tâches) : StartupHook Arrêt du système : ShutdownHook Erreur lors d un appel système : ErrorHook Changements de contexte : PreTaskHook (appelée avant de donner le processeur à une tâche) et PostTaskHook (appelée avant d oter le processeur à une tâche) 16

Fichier OIL (déclaration de l existence des hooks) OS config { ERRORHOOK = TRUE ou FALSE; PRETASKHOOK = TRUE ou FALSE; POSTTASKHOOK = TRUE ou FALSE; STARTUPHOOK = TRUE ou FALSE; SHUTDOWNHOOK = TRUE ou FALSE; }; Fichier C (code des hooks présents) void PreTaskHook(void) { /* Code C du hook */ } 17

Evénements Attente, Signalement, Effacement API: SetEvent, WaitEvent, ClearEvent Ressources partagées Equivalent à un mutex API: GetResource() ReleaseResource() Gère les inversions de priorité (temps de blocage borné, pas d interblocage) Objets de synchronisation déclarés statiquement dans le OIL Pas de sémaphores à compteur!

Consultation du temps système Compteurs et alarmes Appel système unique pour déclenchement d un nombre infini d alarmes périodiques Traitement d alarme : activation de tâche, signalement d événement, appel d un callback API : voir cours

Routines d interruptions de niveau 1(ISR1) Interruptions matérielles (pas de OIL) Appels système interdits Pas de changement de contexte en fin d ISR, rapide Routines d interruptions de niveau 2 Autorisées à faire des appels système, ont un contexte Plus prioritaires que les tâches Plus lentes que ISR1

Motivations Adaptation aux caractéristiques des applications Adaptation aux capacités des architectures (processeur, mémoire) Définition Implantation d un sous-ensemble clairement identifié des fonctionnalités OSEK Paramètres des classes de conformité Nombre d activations simultanées des tâches Types de tâches (basiques/étendues) Nombre de tâches par priorités 21

Tâches basiques seulement Tâches basiques et étendues 1 tâche / priorité Pas d activation multiple BCC1 ECC1 > 1 tâche / priorité Activations multiples pour tâches Basiques uniquement BCC2 ECC2 Compatibilité ascendante 22

Besoins min. pour être conforme à une classe Exécutions multiples Plus d une tâche par priorité Nombre d événements par tâche Nombre de priorités BCC1 BCC2 ECC1 ECC2 Non Oui BT: non ET: oui 23 BT: oui ET: oui Non Oui Non oui --- 8 8 16 Ressources RES_SCHEDULER 8 (incluant RES_SCHEDULER) Alarmes 1

Disponibles en-ligne Sujets de TP Norme OSEK/VDX (OS) et résumé de l API Norme OSEK/VDX (OIL) et fichier exemple API Ecrobot Non disponibles en continu Les robots (Sauf TP 1) : venez en TP avec du code écrit!