GELE5343 Chapitre 2 : Révision de la programmation en C

Dimension: px
Commencer à balayer dès la page:

Download "GELE5343 Chapitre 2 : Révision de la programmation en C"

Transcription

1 GELE5343 Chapitre 2 : Révision de la programmation en C Gabriel Cormier, Ph.D., ing. Université de Moncton Hiver 2013 Gabriel Cormier (UdeM) GELE5343 Chapitre 2 Hiver / 49

2 Introduction Contenu 1 Introduction 2 Flot de programmation 3 Variables et évaluations 4 Boucles 5 Optimisation 6 Compteur 7 Interruptions 8 Ports Gabriel Cormier (UdeM) GELE5343 Chapitre 2 Hiver / 49

3 Introduction Rappel : C On s intéresse seulement aux commandes communes de programmation pour des microcontrôleurs. Ressources web : C: Wikipedia The C book Gabriel Cormier (UdeM) GELE5343 Chapitre 2 Hiver / 49

4 Flot de programmation Flot de programmation Déclarations Initialisation des fonctions Commandes de préprocesseur Programme principal main() Fonctions Définitions Gabriel Cormier (UdeM) GELE5343 Chapitre 2 Hiver / 49

5 Flot de programmation Déclarations Commandes avec # sont pour le préprocesseur Préprocesseur : passe à travers le document 1 fois avant de compiler #include <stdio.h> : Va chercher le contenu du fichier stdio.h pour le placer dans le fichier actuel #define foo bar : cherche pour foo dans le fichier et le remplace par bar. Utile pour des constantes. #pragma : Commandes propres à l implémentation : dépend du compilateur. Si ces commandes ne sont pas comprises par le compilateur, elles sont ignorées. Gabriel Cormier (UdeM) GELE5343 Chapitre 2 Hiver / 49

6 Variables et évaluations Types de variables Entiers : int : entier, à 32 bits. Utilisera 4B en mémoire. De 2 31 à short : entier à 16 bits (2B en mémoire). De 2 15 à long long : entier à 64 bits (8B en mémoire). De 2 63 à unsigned : permet d avoir des entiers positifs seulement. Ex : unsigned short, de 0 à char : pour des caractères ; 8 bits. Utile pour des compteurs de 128 à 127 (ou 0 à 255). Ex : int i = 22 ou int i = 0x0016 (en hexadécimal) Gabriel Cormier (UdeM) GELE5343 Chapitre 2 Hiver / 49

7 Variables et évaluations Types de variables Autres : float : chiffre à virgule flottante, 32 bits long double : chiffre à virgule flottante à 64 bits Gabriel Cormier (UdeM) GELE5343 Chapitre 2 Hiver / 49

8 Variables et évaluations Quel type utiliser? Multiplication Bits Cycles Performance relative Int Float char short int long long float long double Gabriel Cormier (UdeM) GELE5343 Chapitre 2 Hiver / 49

9 Variables et évaluations Vecteurs et matrices On ajoute des parenthèses carrées lors de la déclaration. char c[10] : matrice de 10 entiers de 8 bits Le premier élément est l élément 0 : Selon l exemple, on a c[0] à c[9]. Il faut initialiser le vecteur au complet avant de l utiliser ; on ne peut pas avoir de matrice de dimension inconnue. Gabriel Cormier (UdeM) GELE5343 Chapitre 2 Hiver / 49

10 Variables et évaluations Évaluation de variables Évaluations logiques Faux est représenté par 0 Vrai est représenté par n importe quel entier sauf 0 : opérateur OU (OR) && : opérateur ET (AND)! : opérateur NON (NOT) Ex : Si a = 17 et b = 1, a b est VRAI a && b est VRAI!a est FAUX Gabriel Cormier (UdeM) GELE5343 Chapitre 2 Hiver / 49

11 Variables et évaluations Comparaison de variables == est égal à!= n est pas égal à > plus grand que >= plus grand ou égal à < plus petit que <= plus petit ou égal à Exemple : si a = 10, a>1 est VRAI -a >= 0 est FAUX a == 17 est FAUX a!= 3 est VRAI Gabriel Cormier (UdeM) GELE5343 Chapitre 2 Hiver / 49

12 Variables et évaluations Incrémentation Deux autres opérateurs : ++ : i++ équivalent à i = i+1 -- i-- équivalent à i = i-1 Peut être appliqué avant ou après une assignation. Ex : soit a = 0 et b = 1 : a = b++ donne a = 1, b = 2 a = ++b donne a = 2, b = 2 Gabriel Cormier (UdeM) GELE5343 Chapitre 2 Hiver / 49

13 Boucles Boucles Trois types principaux de boucles : Boucle for Boucle while Boucle do - while Gabriel Cormier (UdeM) GELE5343 Chapitre 2 Hiver / 49

14 Boucles Boucle for char i ; f o r ( i =0; i <5; i ++) { // f a i r e q uelque chose // s e r a e x é c u t é pour i = 0, 1, 2, 3 e t 4 } Les trois arguments : i=0 : initialise le compteur i<5 : vérifie s il faut s arrêter avec une expression logique i++ : incrémente le compteur Gabriel Cormier (UdeM) GELE5343 Chapitre 2 Hiver / 49

15 Boucles Boucle while while ( x ) { // f a i r e q uelque chose } x : n importe quelle expression logique Le code dans la boucle sera exécuté aussi longtemps que x est vrai. Gabriel Cormier (UdeM) GELE5343 Chapitre 2 Hiver / 49

16 Boucles Boucle do do { // f a i r e q ue l q u e chose } while ( x ) x : n importe quelle expression logique Le code dans la boucle sera exécuté 1 fois, puis ensuite aussi longtemps que x est vrai. Gabriel Cormier (UdeM) GELE5343 Chapitre 2 Hiver / 49

17 Optimisation Optimisation du programme Espace mémoire limité sur un microcontrôleur Espace RAM limité Il faut faire plus attention à la programmation Gabriel Cormier (UdeM) GELE5343 Chapitre 2 Hiver / 49

18 Optimisation Mémoire Éviter les grosses librairies (ex : printf) Éviter l allocation dynamique de mémoire Éviter les structures complexes Attention aux déclarations de variables (ne pas utiliser int si char est suffisant) Les calculs en virgule flottante sont beaucoup plus longs Il peut être plus efficace d utiliser des tables pour les fonctions complexes (sin, cos, etc.) que de faire le calcul directement. Gabriel Cormier (UdeM) GELE5343 Chapitre 2 Hiver / 49

19 Compteur Compteurs Le PIC32 a 6 compteurs, mais seulement 5 devraient être utilisés. Le compteur de coeur du CPU ne devrait pas être utilisé (il est cependant accessible). Les compteurs utilisent l horloge de périphérique (qui est plus petite ou égale à l horloge CPU). Contrôlés par 3 SFR (Special Function Register), ex pour Timer1 : TMR1 : contient la valeur (16 bit) du compteur T1CON : contrôle l activation et le mode d opération PR1 : Période du compteur (16 bit : valeur max ) Gabriel Cormier (UdeM) GELE5343 Chapitre 2 Hiver / 49

20 Compteur Compteurs Timer1 est 16 bits, Timer2 à Timer5 peuvent être combinés pour 32 bits (mais 16 bits par défaut) Les compteurs utilisent l horloge de périphérique PBCLK Il faut régler le diviseur d horloge FBDIV correctement (valeur par défaut = 8 ; PBCLK = CLK/8) ; Gabriel Cormier (UdeM) GELE5343 Chapitre 2 Hiver / 49

21 Compteur Compteurs Gabriel Cormier (UdeM) GELE5343 Chapitre 2 Hiver / 49

22 Compteur Compteurs T1CON : Bit 15/7 Bit 14/6 Bit 13/5 Bit 12/4 Bit 11/3 Bit 10/2 Bit 9/1 Bit 8/0 15 : 8 TON FRZ SIDL TMWDIS TMWIP 7 : 0 TGATE TCKPS < 1 : 0 > TSYNC TCS Les bits 16 à 31 ne sont pas utilisés Gabriel Cormier (UdeM) GELE5343 Chapitre 2 Hiver / 49

23 Compteur Compteur T1 TON : Active le compteur TCS : Horloge du compteur : 0 = horloge interne TCKPS : Multiplicateur ; 00 = 1, 01 = 8, 10 = 64, 11 = 256 SIDL : comportement en mode inactif du CPU (0 si pas important) TSYNC : Synchronisation avec une horloge externe = 1 (0 sinon) TGATE : Pour horloge externe FRZ : Pour le débogage (0 par défaut) Gabriel Cormier (UdeM) GELE5343 Chapitre 2 Hiver / 49

24 Compteur Exemple Supposons qu on veut un compteur de période 0.2s, avec une horloge de 36MHz interne. T = 1 f pb M P S P Rx où f pb est la fréquence de l horloge de périphérique, M P S est le multiplicateur du compteur, et PRx est le nombre de cycles nécessaire pour avoir le délai voulu. donc PRx = = 1 (256)(P Rx) Gabriel Cormier (UdeM) GELE5343 Chapitre 2 Hiver / 49

25 Compteur Exemple (suite) Avec Timer1 : TON = 1 : Activer le Timer TCS = 0 : On utilise l horloge interne TCKPS = 11 : Multiplicateur = 256 TGATE = 0, TSYNC = 0 : On utilise l horloge interne SIDL = 0 : Mode veille pas important Bit 15/7 Bit 14/6 Bit 13/5 Bit 12/4 Bit 11/3 Bit 10/2 Bit 9/1 Bit 8/0 15 : 8 TON FRZ SIDL TMWDIS TMWIP 7 : 0 TGATE TCKPS < 1 : 0 > TSYNC TCS T1CON = T1CON = 0x8030 PR1 = Gabriel Cormier (UdeM) GELE5343 Chapitre 2 Hiver / 49

26 Compteur Compteurs T2CON : Bit 15/7 Bit 14/6 Bit 13/5 Bit 12/4 Bit 11/3 Bit 10/2 Bit 9/1 Bit 8/0 15 : 8 TON SIDL 7 : 0 TGATE TCKPS < 2 : 0 > T32 TCS Les bits 16 à 31 ne sont pas utilisés. TCKPS est 3 bits pour Timer2-5 Gabriel Cormier (UdeM) GELE5343 Chapitre 2 Hiver / 49

27 Compteur Compteur T2 TON : Active le compteur TCS : Horloge du compteur : 0 = horloge interne TCKPS : Multiplicateur ; (valeur à 3 bits) 000 = 1, 001 = 2, 010 = 4, 011 = = 16, 101 = 32, 110 = 64, 111 = 256 SIDL : comportement en mode inactif du CPU (0 si pas important) T32 : 0 = mode 16 bit, 1 = mode 32 bit Gabriel Cormier (UdeM) GELE5343 Chapitre 2 Hiver / 49

28 Interruptions Interruptions Interruption : événement interne ou externe qui demande rapidement l attention du CPU PIC32 : 64 sources d interruption L action à effectuer : ISR (Interrupt Service Routine) Généralement asynchrone 3 4 cycles entre l interruption et l action correspondante Gabriel Cormier (UdeM) GELE5343 Chapitre 2 Hiver / 49

29 Interruptions Exception Exception : perturbe le fonctionnement normal du programme Exception Interruption Reset Erreur mémoire Division par 0 Gabriel Cormier (UdeM) GELE5343 Chapitre 2 Hiver / 49

30 Interruptions Quelques règles... Le compilateur s occupe des procédures complexes d interruption, si : Le ISR ne retourne pas de valeur (type void) : asynchrone Aucun paramètre est retourné au ISR (paramètre void) N est pas appelé par d autres fonctions Idéalement, ne devrait pas appeler d autres fonctions : rendement Le langage C n a pas été conçu pour utiliser des interruptions... Gabriel Cormier (UdeM) GELE5343 Chapitre 2 Hiver / 49

31 Interruptions Sources d interruption Sources externes : 5 pins externes avec détection du niveau 22 pins externes branchées au module de notification de changement 5 entrées Input Capture 5 sorties Output Compare 2 interfaces port série (UART) 4 interfaces séries synchrone (SPI et I 2 C) 1 port parallèle Gabriel Cormier (UdeM) GELE5343 Chapitre 2 Hiver / 49

32 Interruptions Sources d interruption Sources internes : 1 compteur interne 32 bit 5 compteurs internes 16 bit 1 convertisseur analogique-numérique 1 module comparateur analogique 1 horloge et calendrier 1 contrôleur Flash 1 moniteur d horloge 2 interruptions logiciel 4 canaux DMA Gabriel Cormier (UdeM) GELE5343 Chapitre 2 Hiver / 49

33 Interruptions Priorités Chaque source d interruption a 7 bits de contrôle : Interrupt Enable : -IE ; un seul bit : 0, l événement ne génère pas d interruption ; 1, l interruption peut être évaluée. La valeur par défaut est 0 pour toutes les interruptions. Interrupt Flag : -IF ; un seul bit, est activé (valeur 1) chaque fois que l événement a lieu, indépendamment de IE. If faut le remettre à 0 manuellement à la fin de la routine d interruption, sinon l interruption est ré-activée immédiatement. Gabriel Cormier (UdeM) GELE5343 Chapitre 2 Hiver / 49

34 Interruptions Priorités Group Priority Level : -IP ; il y a 7 niveaux de priorité, de ipl1 à ipl7. Si deux interruptions ont lieu en même temps, celle avec la priorité la plus élevée est effectuée en premier. Nécessite 3 bits. Par défaut, toutes les interruptions sont à ipl0. Subpriority Level : 4 niveaux de priorité dans le même groupe En cas d équivalence, le tableau 5.2 pp donne les priorités. Gabriel Cormier (UdeM) GELE5343 Chapitre 2 Hiver / 49

35 Interruptions Déclarations ou void a t t r i b u t e ( ( i n t e r r u p t ( i p l X ), v e c t o r ( 0 ) ) ) I n t e r r u p t H a n d l e r ( void ) { // code i c i } #pragma i n t e r r u p t I n t e r r u p t H a n d l e r i p l X v e c t o r 0 void I n t e r r u p t H a n d l e r ( void ) { // code i c i } InterruptHandler est le nom de l interruption Gabriel Cormier (UdeM) GELE5343 Chapitre 2 Hiver / 49

36 Interruptions Déclarations : macros PIC32 void I S R ( 0, i p l X ) I n t e r r u p t H a n d l e r ( void ) { // code i c i } Définit dans sys/attribs.h Gabriel Cormier (UdeM) GELE5343 Chapitre 2 Hiver / 49

37 Interruptions Librairie Librairie int.h : #include <int.h> Plusieurs macros pour simplifier l implantation Compris dans #include <plib.h> Macros commencent par m : INTEnableSystemSingleVectoredInt() : fonction pour initialiser correctement le module de contrôle des interruptions. À utiliser!!! mxxsetintpriority( x) : Assigne le niveau de priorité de l interruption XX. Les abréviations sont données dans le tableau 5.2 pp du manuel. mxxclearintflag() : permet de remettre à 0 le IF d une interruption. Gabriel Cormier (UdeM) GELE5343 Chapitre 2 Hiver / 49

38 Interruptions Interruption : Exemple #i n c l u d e <p32xxxx. h> #i n c l u d e <p l i b. h> // i n c l u s macros pour i n t e r r u p t i o n s i n t count ; #pragma i n t e r r u p t I n t e r r u p t H a n d l e r i p l 1 v e c t o r 0 void I n t e r r u p t H a n d l e r ( void ) { count++; mt2clearintflag ( ) ; // IF = 0 } main ( ) { PR2 = 1 5 ; // P é r i o d e du compteur T2CON = 0 x8030 ; // C o n t r ô l e du compteur m T 2 S e t I n t P r i o r i t y ( 1 ) ; // P r i o r i t é 1 à cause de i p l 1 I N T E n a b l e S y s t e m S i n g l e V e c t o r e d I n t ( ) ; mt2intenable ( 1 ) ; } w h i l e ( 1 ) ; Gabriel Cormier (UdeM) GELE5343 Chapitre 2 Hiver / 49

39 Interruptions Interruptions multiples Priorité résout seulement une partie du problème Décide seulement laquelle est exécutée si 2 sont déclenchées en même temps Si une interruption est déjà active, qu arrive-t il si une 2e est déclenchée? Par défaut, il faut attendre la fin de l interruption avant de déclencher la 2e. Parfois une interruption de plus haute priorité doit interrompre une de moindre priorité Gabriel Cormier (UdeM) GELE5343 Chapitre 2 Hiver / 49

40 Interruptions Interruptions multiples On doit manuellement réétablir les interruptions aussitôt dans le ISR Nécessite une instruction assembleur MIPS asm("ei") : réactiver les interruptions (enable interrupt) Vérifier par code la source de l interruption : ex, mt3getintflag() pour vérifier si l interruption liée à Timer3 a été déclenchée Gabriel Cormier (UdeM) GELE5343 Chapitre 2 Hiver / 49

41 Interruptions Interruptions multiples : Exemple v o i d I S R ( 0, i p l 1 ) I n t e r r u p t H a n d l e r ( v o i d ) { asm ( e i ) ; i f ( mt3getintflag ( ) ) { // code m T 3 C l e a r I n t F l a g ( ) ; } e l s e i f ( mt2getintflag ( ) ) { // code m T 2 C l e a r I n t F l a g ( ) ; } } main ( ) { PR3 = 2 0 ; // P é r i o d e du compteur 3 ; exemple PR2 = 1 5 ; // P é r i o d e du compteur 2 ; exemple T3CON = 0 x8030 ; // C o n t r ô l e du compteur T2CON = 0 x8030 ; // C o n t r ô l e du compteur m T 3 S e t I n t P r i o r i t y ( 3 ) ; // P l u s haute p r i o r i t é m T 2 S e t I n t P r i o r i t y ( 1 ) ; I N T E n a b l e S y s t e m S i n g l e V e c t o r e d I n t ( ) ; mt3intenable ( 1 ) ; mt2intenable ( 1 ) ; w h i l e ( 1 ) ; } Gabriel Cormier (UdeM) GELE5343 Chapitre 2 Hiver / 49

42 Interruptions Interruptions multiples Les versions plus récentes du PIC ont les interruptions imbriquées par défaut L exemple précédent n est plus recommandé La commande asm("ei") est activée par défaut à l appel de la routine On modifie l appel à la routine : void ISR Single( 0, ipl1) InterruptHandler( void) Gabriel Cormier (UdeM) GELE5343 Chapitre 2 Hiver / 49

43 Interruptions Interruptions multiples : approche multi-vecteurs Le PIC32 offre une approche alternative pour gérer des interruptions multiples Vecteurs multiples et registres multiples Tableau 5.3 pp montre les différents vecteurs du PIC32 64 vecteurs pour 96 interruptions (limites dues au MIPS) Ex : Timer1 : le vecteur est TIMER 1 VECTOR, vecteur no 4 Gabriel Cormier (UdeM) GELE5343 Chapitre 2 Hiver / 49

44 Interruptions Interruptions multiples : approche multi-vecteurs L utilisation de vecteurs différents accélère l application des interruptions Pour vitesse max, utiliser ipl7 : registres spéciaux L approche imbriquée est quand même valide Gabriel Cormier (UdeM) GELE5343 Chapitre 2 Hiver / 49

45 Interruptions Interruptions multiples : approche multi-vecteurs : Exemple v o i d I S R ( TIMER 3 VECTOR, i p l 7 ) T 3 I n t e r r u p t H a n d l e r ( v o i d ) { // code m T 3 C l e a r I n t F l a g ( ) ; } v o i d I S R ( TIMER 2 VECTOR, i p l 1 ) T 2 I n t e r r u p t H a n d l e r ( v o i d ) { asm ( e i ) ; // code m T 2 C l e a r I n t F l a g ( ) ; } } main ( ) { PR3 = 2 0 ; // P é r i o d e du compteur 3 ; exemple PR2 = 1 5 ; // P é r i o d e du compteur 2 ; exemple T3CON = 0 x8030 ; // C o n t r ô l e du compteur T2CON = 0 x8030 ; // C o n t r ô l e du compteur m T 3 S e t I n t P r i o r i t y ( 7 ) ; // P l u s haute p r i o r i t é m T 2 S e t I n t P r i o r i t y ( 1 ) ; I N T E n a b l e S y s t e m S i n g l e V e c t o r e d I n t ( ) ; mt3intenable ( 1 ) ; mt2intenable ( 1 ) ; w h i l e ( 1 ) ; } Gabriel Cormier (UdeM) GELE5343 Chapitre 2 Hiver / 49

46 Ports Ports entrée-sortie (I/O) Ports A à G sont programmables I/O TRISx : direction, 1 = Input, 0 = Output. Ex : TRISA = 1 veut dire que le port A est en mode entrée. PORTx : lecture / écriture au port. Ex : PORTD = 0x0020 veut dire que le bit 5 du port D est haut. En mode lecture, acceptent jusqu à 5 V en entrée. En mode sortie, la tension est 3.3 V Par défaut, les ports sont en mode lecture (Input) Gabriel Cormier (UdeM) GELE5343 Chapitre 2 Hiver / 49

47 Ports Librairies La librairie plib.h donne accès à plusieurs macros Ex : mportasetbits( BIT 8 BIT 10) Ex : PORTSetBits( IOPORT A, BIT 8 BIT 10) Pour régler les ports comme entrée ou sortie : PORTSetPinsDigitalIn(IOPORT x, BIT y) PORTSetPinsDigitalOut(IOPORT x, BIT y) Gabriel Cormier (UdeM) GELE5343 Chapitre 2 Hiver / 49

48 Ports Lecture Fonctions et macros de lecture : mportxread() mportxreadbits() PORTRead(IO PORT ID) : lecture de tous les bits PORTReadBits(IO PORT ID, bits) : lecture des bits spécifiés Gabriel Cormier (UdeM) GELE5343 Chapitre 2 Hiver / 49

49 Ports Écriture Fonctions et macros d écriture : mportxwrite(bits) mportxsetbits(bits) mportxclearbits(bits) mportxtogglebits(bits) PORTWrite(IO PORT ID) : écriture de tous les bits PORTSetBits(IO PORT ID, bits) : écriture des bits spécifiés (à 1) PORTClearBits(IO PORT ID, bits) : écriture de 0 aux bits spécifiés PORTToggleBits(IO PORT ID, bits) : inverse la valeur des bits spécifiés Gabriel Cormier (UdeM) GELE5343 Chapitre 2 Hiver / 49

Principes de la programmation impérative

Principes de la programmation impérative Séquence d instructions Variables et types Types élaborés Procédures, arguments Gestion de la mémoire Langage compilé, interprété Principes de la programmation impérative Séquence d instructions Variables

Plus en détail

1. Structure d un programme C. 2. Commentaire: /*..texte */ On utilise aussi le commentaire du C++ qui est valable pour C: 3.

1. Structure d un programme C. 2. Commentaire: /*..texte */ On utilise aussi le commentaire du C++ qui est valable pour C: 3. 1. Structure d un programme C Un programme est un ensemble de fonctions. La fonction "main" constitue le point d entrée pour l exécution. Un exemple simple : #include int main() { printf ( this

Plus en détail

char (1) short (2) int (4) long int (8) long long int (8) unsigned char unsigned int unsigned short unsigned long int unsigned long long int

char (1) short (2) int (4) long int (8) long long int (8) unsigned char unsigned int unsigned short unsigned long int unsigned long long int char (1) short (2) int (4) long int (8) long long int (8) unsigned char unsigned int unsigned short unsigned long int unsigned long long int float (4) double (8) long double (16) char* (8) int* (8)...

Plus en détail

Langage C. Chapitre 2. 2.1 Le langage C, un langage non interprété. 2.1.1 L écriture du programme. 2.1.2 La compilation

Langage C. Chapitre 2. 2.1 Le langage C, un langage non interprété. 2.1.1 L écriture du programme. 2.1.2 La compilation Chapitre 2 Langage C 2.1 Le langage C, un langage non interprété Le C est un langage de programmation comme il en existe beaucoup d autres (C++, Fortran, Python, Matlab, IDL, ADA...). Il existe deux grandes

Plus en détail

Introduction au langage C

Introduction au langage C Introduction au langage C Cours 1: Opérations de base et premier programme Alexis Lechervy Alexis Lechervy (UNICAEN) Introduction au langage C 1 / 23 Les premiers pas Sommaire 1 Les premiers pas 2 Les

Plus en détail

Traduction des arbres programmatiques en C

Traduction des arbres programmatiques en C Traduction des arbres programmatiques en C Table des matières 1 Premier exemple : helloworld.c 1 2 Méthode de programmation 2 3 Déclaration de variables 2 4 Structures de contrôle 3 5 Opérateurs C 5 6

Plus en détail

Tableaux (introduction) et types de base

Tableaux (introduction) et types de base Tableaux (introduction) et types de base A. Motivation..................................................... 4 B. Les tableaux.................................................... 5 C. Construction des tableaux.......................................

Plus en détail

Cours de Systèmes d Exploitation

Cours de Systèmes d Exploitation Licence d informatique Synchronisation et Communication inter-processus Hafid Bourzoufi Université de Valenciennes - ISTV Introduction Les processus concurrents s exécutant dans le système d exploitation

Plus en détail

1. Eléments de base du langage C

1. Eléments de base du langage C 1 1. Eléments de base du langage C Généralités Programme et sous-programme Fonction C Structure d un programme C Vocabulaire de base et syntaxe Exemples 2 Généralités Crée en 1972 par D. Ritchie pour écrire

Plus en détail

IN 102 - Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C

IN 102 - Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C IN 102 - Cours 1 Qu on le veuille ou non, les systèmes informatisés sont désormais omniprésents. Même si ne vous destinez pas à l informatique, vous avez de très grandes chances d y être confrontés en

Plus en détail

DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51

DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51 DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51 PLAN DU COURS Introduction au langage C Notions de compilation Variables, types, constantes, tableaux, opérateurs Entrées sorties de base Structures de

Plus en détail

Structure du compilateur C

Structure du compilateur C Structure du compilateur C Francesco Mondada Laboratoire de systèmes robotiques IMT - STI - EPFL Introduction Programme en C Programme asm encoding Exécution Exécution Introduction Introduction Programme

Plus en détail

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE QCM Remarque : - A une question correspond au moins 1 réponse juste - Cocher la ou les bonnes réponses Barème : - Une bonne réponse = +1 - Pas de réponse = 0

Plus en détail

UE C avancé cours 1: introduction et révisions

UE C avancé cours 1: introduction et révisions Introduction Types Structures de contrôle Exemple UE C avancé cours 1: introduction et révisions Jean-Lou Desbarbieux et Stéphane Doncieux UMPC 2004/2005 Introduction Types Structures de contrôle Exemple

Plus en détail

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP COURS PROGRAMMATION INITIATION AU LANGAGE C SUR MICROCONTROLEUR PIC page 1 / 7 INITIATION AU LANGAGE C SUR PIC DE MICROSHIP I. Historique du langage C 1972 : naissance du C dans les laboratoires BELL par

Plus en détail

Intégration d'un joystick dans le logiciel Perfly SGI

Intégration d'un joystick dans le logiciel Perfly SGI Intégration d'un joystick dans le logiciel Perfly SGI 1) Le joystick 1.1) Description C'est le modèle Flybox, de base, de la société BG SYSTEMS INC. Ce joystick possède 3 axes, 2 manettes, 2 boutons «classiques»

Plus en détail

.:: Architecture ::.

.:: Architecture ::. .:: ::. semaine n 7 Interruptions et Timers TD 1 TD Compteur de Vitesse Nous allons réaliser un compteur de vitesse pour vélo à l'aide d'un micro-contrôleur MCS251. Le compteur est constitué d'un capteur

Plus en détail

C Facile. Le langage C. louen@via.ecp.fr. Mardi 15 décembre 2009. Centrale Réseaux. C Facile. Valentin Roussellet (p2010) - louen@via.ecp.

C Facile. Le langage C. louen@via.ecp.fr. Mardi 15 décembre 2009. Centrale Réseaux. C Facile. Valentin Roussellet (p2010) - louen@via.ecp. Le langage C Centrale Réseaux Mardi 15 décembre 2009 Sommaire C quoi? Le C est un langage de programmation créé en 1974, pour écrire le système d exploitation UNIX. Depuis,il est devenu (avec ses variantes),

Plus en détail

Systèmes Informatiques TD 3: langage C opérations élémentaires

Systèmes Informatiques TD 3: langage C opérations élémentaires Systèmes Informatiques TD 3: langage C opérations élémentaires P. Bakowski bako@ieee.org Opérateurs logiques/arithmétiques Le langage C offre une liste importante d opérateurs logiques et arithmétiques.

Plus en détail

MICROCONTROLEURS PIC PROGRAMMATION EN C. V. Chollet - cours-pic-13b - 09/12/2012 Page 1 sur 44

MICROCONTROLEURS PIC PROGRAMMATION EN C. V. Chollet - cours-pic-13b - 09/12/2012 Page 1 sur 44 MICROCONTROLEURS PIC PROGRAMMATION EN C V. Chollet - cours-pic-13b - 09/12/2012 Page 1 sur 44 Chapitre 1 GENERALITES 1 DEFINITION Un microcontrôleur est un microprocesseur RISC (Reduced Instruction Set

Plus en détail

Conférence sur les microcontroleurs.

Conférence sur les microcontroleurs. Conférence sur les microcontroleurs. Le microcontrôleur Les besoins et le développement. Vers 1970, pour des calculs (calculatrice). Le premier est le 4004 de Intel, 90K. La technologie. Les 2 principales

Plus en détail

STS SE. FreeRTOS. Programmation réseau WIFI. Programmation réseau. Socket Tcp. FlyPort smart Wi-Fi 802.11 module

STS SE. FreeRTOS. Programmation réseau WIFI. Programmation réseau. Socket Tcp. FlyPort smart Wi-Fi 802.11 module François SCHNEIDER Lycée Victor-Hugo BESANÇON. STS SE FreeRTOS Programmation réseau WIFI Programmation réseau Socket Tcp FlyPort smart Wi-Fi 802.11 module Prérequis : langage C, connaissance réseau : Ip,

Plus en détail

Une introduction au langage C++ Marc Jachym, Lurpa

Une introduction au langage C++ Marc Jachym, Lurpa Une introduction au langage C++ Marc Jachym, Lurpa Janvier 2008 À l origine, le langage C Langage procédural créé dans les années 1970 aux laboratoires Bell (ATT : télécoms américains) en vue d écrire

Plus en détail

CHAPITRE 6 : Tableaux. Définition. Tableaux à une dimension (Vecteurs)

CHAPITRE 6 : Tableaux. Définition. Tableaux à une dimension (Vecteurs) Année Universitaire 2006/2007 CHAPITRE 6 : Tableaux Définition Tableaux à une dimension (Vecteurs) Déclaration ; Mémorisation M ; Tableaux à plusieurs dimensions Déclaration Tableaux à deux dimensions

Plus en détail

La programmation des PIC en C. Les fonctions, les interruptions.

La programmation des PIC en C. Les fonctions, les interruptions. La programmation des PIC en C Les fonctions, les interruptions. Réalisation : HOLLARD Hervé. http://electronique-facile.com Date : 26 août 2004 Révision : 1.2 Sommaire Sommaire... 2 Introduction... 3 Structure

Plus en détail

Mise à niveau en Java

Mise à niveau en Java Mise à niveau en Java Cours 1 Stéphane Airiau Université Paris-Dauphine Stéphane Airiau (Université Paris-Dauphine) - Java Cours 1 1 Aujourd hui Eléments de base Variables, opérateurs, type d une expression

Plus en détail

Arduino - Teagueduino

Arduino - Teagueduino PROGRAMMER EN C UN MICROCONTROLEUR Arduino - Teagueduino Intro - La logique câblée: VRAI, FAUX NON, OUI ET (AND), NON-ET (NAND), OU (OR), Intro - La logique programmée: Deux familles: microprocesseur microcontrôleur.

Plus en détail

X. Juvigny. Septembre 2007

X. Juvigny. Septembre 2007 De C à C++ X Juvigny Septembre 2007 1 Introduction Outre les nouvelles possibilités en programmation orienté objet, le C++ offre de plus de nouvelles caractéristiques par rapport au langage C dont il est

Plus en détail

UE Programmation Impérative Licence 2ème Année 2014 2015

UE Programmation Impérative Licence 2ème Année 2014 2015 UE Programmation Impérative Licence 2 ème Année 2014 2015 Informations pratiques Équipe Pédagogique Florence Cloppet Neilze Dorta Nicolas Loménie prenom.nom@mi.parisdescartes.fr 2 Programmation Impérative

Plus en détail

TP Processeurs de Traitement du Signal

TP Processeurs de Traitement du Signal TP Processeurs de Traitement du Signal Nous allons étudier dans ce TP l'implantation d'algorithmes de traitement du signal dans le Processeur de Traitement du Signal TMS320C50 de Texas Instruments. Pour

Plus en détail

Le PIC16F877. F. Senny Université de Liège Faculté des Sciences Appliquées

Le PIC16F877. F. Senny Université de Liège Faculté des Sciences Appliquées Le PIC16F877 Introduction aux microcontrôleurs et à leur assembleur Illustration par le PIC16F877 F. Senny Université de Liège Faculté des Sciences Appliquées Plan Qu est-ce qu un micro-contrôleur? Architecture

Plus en détail

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

Temps Réel. Jérôme Pouiller <j.pouiller@sysmic.org> Septembre 2011 Temps Réel Jérôme Pouiller Septembre 2011 Sommaire Problèmatique Le monotâche Le multitâches L ordonnanement Le partage de ressources Problèmatiques des OS temps réels J. Pouiller

Plus en détail

Informatique III: Programmation en C++ Introduction. Examens. Chargé de cours François Fleuret francois.fleuret@epfl.ch

Informatique III: Programmation en C++ Introduction. Examens. Chargé de cours François Fleuret francois.fleuret@epfl.ch Informatique III: Programmation en C++ Lundi 24 Octobre 2005 Chargé de cours François Fleuret francois.fleuret@epfl.ch Assistant Mathieu Salzmann mathieu.salzmann@epfl.ch Assistants étudiants Ali Al-Shabibi

Plus en détail

Architecture 68332 06/06/02 LE 68332

Architecture 68332 06/06/02 LE 68332 LE 68332 LE 68332...1 ELÉMENTS SUR LE MICROCONTRÔLEUR 68332...2 SYSTEM INTEGRATION MODULE (SIM)...2 QUEUED SERIAL MODULE (QSM)...3 TIME PROCESSOR UNIT (TPU)...3 IMPLANTATION MÉMOIRE :...4 MODULE SIM :

Plus en détail

Ordinateurs, Structure et Applications

Ordinateurs, Structure et Applications Ordinateurs, Structure et Applications Cours 10, Les interruptions Etienne Tremblay Université Laval, Hiver 2012 Cours 10, p.1 Les interruptions du 8086 Une interruption interrompt l exécution séquentielle

Plus en détail

cours 6 - compilation séparée, classes de stockage et makefile

cours 6 - compilation séparée, classes de stockage et makefile cours 6 - compilation séparée, classes de stockage et makefile G. Bianchi, G. Blin, A. Bugeau, S. Gueorguieva, R. Uricaru 2015-2016 Programmation 1 - uf-info.ue.prog1@diff.u-bordeaux.fr la programmation

Plus en détail

Institut national polytechnique de Lorraine école nationale supérieure d électricité et de mécanique ISA 2A. Compteur décimal. Electronique numérique

Institut national polytechnique de Lorraine école nationale supérieure d électricité et de mécanique ISA 2A. Compteur décimal. Electronique numérique Institut national polytechnique de Lorraine école nationale supérieure d électricité et de mécanique ISA 2A Compteur décimal Electronique numérique TP 1 Ghania Idiri Tomáš Novák 26 novembre 2007 1 Compteur

Plus en détail

Cours Architecture des ordinateurs (Archi II) Entrées / Sorties Resp. Mr Mohamed Feredj MCA Courriel : archiferedj@gmail.com

Cours Architecture des ordinateurs (Archi II) Entrées / Sorties Resp. Mr Mohamed Feredj MCA Courriel : archiferedj@gmail.com Cours Architecture des ordinateurs (Archi II) Entrées / Sorties Resp. Mr Mohamed Feredj MCA Courriel : archiferedj@gmail.com 1 1) Objectif Discuter comment les données sont transférées entre le et les

Plus en détail

1 : 1 er programmes & prise en main de l environnement

1 : 1 er programmes & prise en main de l environnement 1 : 1 er programmes & prise en main de l environnement 1 Introduction 1.1 Rappel : gestion d arborescence et de fichiers sous UNIX Pour la manipulation de répertoire et de fichier à partir d un terminal

Plus en détail

Atelier C TIA Portal CTIA04 : Programmation des automates S7-300 Opérations numériques

Atelier C TIA Portal CTIA04 : Programmation des automates S7-300 Opérations numériques Atelier C TIA Portal CTIA04 : Programmation des automates S7-300 Opérations numériques CTIA04 Page 1 1. Les types de données sous S7 300 Il existe plusieurs types de données utilisées pour la programmation

Plus en détail

Introduction. Les performances d une machine sont liées au: 1. nombre d instructions. 2. temps de cycle horloge

Introduction. Les performances d une machine sont liées au: 1. nombre d instructions. 2. temps de cycle horloge Introduction Les performances d une machine sont liées au: 1. nombre d instructions 2. temps de cycle horloge 3. nombre de cycle horloge par instructions. C est: le compilateur et l architecture du jeu

Plus en détail

Le langage C. Séance n 4

Le langage C. Séance n 4 Université Paris-Sud 11 Institut de Formation des Ingénieurs Remise à niveau INFORMATIQUE Année 2007-2008 Travaux pratiques d informatique Le langage C Séance n 4 But : Vous devez maîtriser à la fin de

Plus en détail

Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation 24 octobre 2007impérative 1 / 44 et. structures de données simples

Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation 24 octobre 2007impérative 1 / 44 et. structures de données simples Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation impérative et structures de données simples Introduction au langage C Sandrine Blazy - 1ère année 24 octobre 2007 Cours d Algorithmique-Programmation

Plus en détail

Cours d Algorithmique et de Langage C 2005 - v 3.0

Cours d Algorithmique et de Langage C 2005 - v 3.0 Cours d Algorithmique et de Langage C 2005 - v 3.0 Bob CORDEAU cordeau@onera.fr Mesures Physiques IUT d Orsay 15 mai 2006 Avant-propos Avant-propos Ce cours en libre accès repose sur trois partis pris

Plus en détail

10 Test d assimilation des connaissances

10 Test d assimilation des connaissances 10 Test d assimilation des connaissances Vous allez être placé dans les conditions d un programmeur et non d un analysteprogrammeur. Ceci signifie que presque tous les algorithmes dont vous aurez besoin

Plus en détail

Advanced Electronic Design 3 rue de L Eperon 77000 MELUN Tél : 01 64 52 16 96 E-Mail : info@a-e-d.com Web : www.a-e-d.com.

Advanced Electronic Design 3 rue de L Eperon 77000 MELUN Tél : 01 64 52 16 96 E-Mail : info@a-e-d.com Web : www.a-e-d.com. Advanced Electronic Design 3 rue de L Eperon 77000 MELUN Tél : 01 64 52 16 96 E-Mail : info@a-e-d.com Web : www.a-e-d.com Processeur JAP IP Introduction La société AED propose une IP du processeur JAP

Plus en détail

Concours de Programmation ULCO 2013

Concours de Programmation ULCO 2013 Concours de Programmation ULCO 2013 Notice d aide à l utilisation de Prog&Play 7 mars 2013 Introduction Le concours de cette année a pour cadre un jeu de stratégie temps réel, basé sur le moteur Spring,

Plus en détail

Département Informatique L3 Mention Informatique Jean-Michel Richer Architecture des Ordinateurs jean-michel.richer@univ-angers.

Département Informatique L3 Mention Informatique Jean-Michel Richer Architecture des Ordinateurs jean-michel.richer@univ-angers. Département Informatique L3 Mention Informatique Jean-Michel Richer Architecture des Ordinateurs jean-michel.richer@univ-angers.fr 2015/2016 Travaux Dirigés 1 Représentation de l information En informatique,

Plus en détail

Etre capable de réaliser et simuler avec Quartus II un compteur en mode schématique Logiciels QuartusII Logique de base, architecture de FPGA

Etre capable de réaliser et simuler avec Quartus II un compteur en mode schématique Logiciels QuartusII Logique de base, architecture de FPGA Cyclone QuartusII design Cyclone Quartus base Quartus II - Schematic Objectif Moyens Préliminaire Théorie Matériel Durée Etre capable de réaliser et simuler avec Quartus II un compteur en mode schématique

Plus en détail

Le langage Java - Syntaxe

Le langage Java - Syntaxe Le langage Java - Syntaxe LES BASES: litéraux, types, expressions, instructions LE LANGAGE JAVA - SYNTAXE LES COMMENTAIRES LES IDENTIFICATEURS LISTES DES MOTS RÉSERVÉS: LES LITÉRAUX BOOLÉENS LA DÉCLARATION

Plus en détail

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles)

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles) 1/4 Objectif de ce cours /4 Objectifs de ce cours Introduction au langage C - Cours Girardot/Roelens Septembre 013 Du problème au programme I passer d un problème exprimé en français à la réalisation d

Plus en détail

Utilisation Wizard et PROTEUS Simulation Validation Interface I2C Interruption

Utilisation Wizard et PROTEUS Simulation Validation Interface I2C Interruption François SCHNEIDER Lycée Victor-Hugo BESANÇON. STS SE Développement de microcontrôleurs Microchip avec PICC validation fonctionnelle PROTEUS Utilisation Wizard et PROTEUS Simulation Validation Interface

Plus en détail

1 Notions de base 1.1 Structure d'un programme

1 Notions de base 1.1 Structure d'un programme 1 Notions de base 1.1 Structure d'un programme Le langage C++ contient le langage C : tout programme écrit en C à la norme ANSI doit pouvoir être compilé par un compilateur C++. C++ fait la diérence entre

Plus en détail

Utilisation Wizard Icd - Validation Interface USB Interface RS232

Utilisation Wizard Icd - Validation Interface USB Interface RS232 François SCHNEIDER Lycée Victor-Hugo BESANÇON. STS SE Développement de microcontrôleurs Microchip avec PICC validation dans le composant Utilisation Wizard Icd - Validation Interface USB Interface RS232

Plus en détail

ASSEMBLAGE ET ÉDITION DES LIENS

ASSEMBLAGE ET ÉDITION DES LIENS ASSEMBLAGE ET ÉDITION DES LIENS Mewtow 11 novembre 2015 Table des matières 1 Introduction 5 2 La chaine d assemblage 7 2.1 Résolution des symboles.............................. 7 2.2 Relocation.....................................

Plus en détail

Algorithmique et Programmation, IMA

Algorithmique et Programmation, IMA Algorithmique et Programmation, IMA Cours 2 : C Premier Niveau / Algorithmique Université Lille 1 - Polytech Lille Notations, identificateurs Variables et Types de base Expressions Constantes Instructions

Plus en détail

Structure d un programme et Compilation Notions de classe et d objet Syntaxe

Structure d un programme et Compilation Notions de classe et d objet Syntaxe Cours1 +Cours 2 Structure d un programme et Compilation Notions de classe et d objet Syntaxe POO 1 Programmation Orientée Objet Un ensemble d objet qui communiquent Pourquoi POO Conception abstraction

Plus en détail

PIC EVAL Dev Board PIC18F97J60

PIC EVAL Dev Board PIC18F97J60 PIC EVAL Dev Board PIC18F97J60 2 TP1 : Prise en main de l environnement de programmation pour la carte PIC EVAL-ANFA Pour répondre aux questions et justifier vos réponses, vous pouvez faire des copies

Plus en détail

Conception et microprocesseurs

Conception et microprocesseurs Electronique embarquée Conception et microprocesseurs Richard Grisel Professeur des Universités Université de Rouen Conception et microprocesseurs Architectures et composants: Logiciel; Matériel. Test

Plus en détail

I Quelques points d'algorithmique

I Quelques points d'algorithmique I Quelques points d'algorithmique 1) Types Type "simple" : Identificateur commençant par une majuscule = Description du type Les principaux types : les entiers naturels (int, long, long long) ou relatifs

Plus en détail

Systèmes à microprocesseurs. La liaison série RS232 Utilisation de l'eusart

Systèmes à microprocesseurs. La liaison série RS232 Utilisation de l'eusart Systèmes à microprocesseurs La liaison série RS232 Utilisation de l'eusart 1 Généralités Transmissions série et parallèle La communication entre 2 systèmes peut se faire soit de manière parallèle, soit

Plus en détail

Types et performances des processeurs

Types et performances des processeurs Types et performances des processeurs Laboratoire de Systèmes Logiques Structure d un ordinateur contrôle processeur traitement séquenceur registres mémoire entrées/sorties micromémoire opérateurs bus

Plus en détail

Programmer en JAVA. par Tama (tama@via.ecp.fr( tama@via.ecp.fr)

Programmer en JAVA. par Tama (tama@via.ecp.fr( tama@via.ecp.fr) Programmer en JAVA par Tama (tama@via.ecp.fr( tama@via.ecp.fr) Plan 1. Présentation de Java 2. Les bases du langage 3. Concepts avancés 4. Documentation 5. Index des mots-clés 6. Les erreurs fréquentes

Plus en détail

DSP Architecture et Applications

DSP Architecture et Applications Haute Ecole d Ingénierie et de Gestion Du Canton du Vaud DSP Architecture et Applications Note 1 VISUALDSP++3.5 FOR 16-BIT Environnement de développement de la famille ADSP21xx 16 bits virgule fixe des

Plus en détail

Chapitre A4 : Logique Programmée *** Cours 4 sciences techniques ** Labo GE

Chapitre A4 : Logique Programmée *** Cours 4 sciences techniques ** Labo GE Leçon A4-2 : Les Microcontrôleurs Objectifs : * Identifier à partir d une application industrielle un PIC. * Elaborer un programme spécifique à une application à base de PIC I-Mise en situation : 1-Fonctionnement

Plus en détail

Programmation en langage C d un µcontrôleur PIC à l aide du compilateur C-CCS Sommaire

Programmation en langage C d un µcontrôleur PIC à l aide du compilateur C-CCS Sommaire Programmation en langage C d un µcontrôleur PIC à l aide du compilateur C-CCS CCS Sommaire Généralités sur le langage. 2 Structure d un programme en C.. 3 Les constantes et équivalences.. 4 Les variables...

Plus en détail

Cours 7 : Programmation d une chaîne d acquisition

Cours 7 : Programmation d une chaîne d acquisition Cours 7 : Programmation d une chaîne d acquisition 4 Concepts 4 Programmation Cible Pentium : Langages de haut niveau Langage graphique G sous LabView + librairies de VI ; Langage C + librairies de fonctions

Plus en détail

Noyau d'un système d'exploitation INF2610 Chapitre 7 : Gestion de la mémoire (annexe 2)

Noyau d'un système d'exploitation INF2610 Chapitre 7 : Gestion de la mémoire (annexe 2) INF2610 Chapitre 7 : Gestion de la mémoire (annexe 2) Département de génie informatique et génie logiciel Hiver 2014 Exemple 1 : Espace virtuel d un processus Où seront stockées les données des variables

Plus en détail

ARDUINO DOSSIER RESSOURCE POUR LA CLASSE

ARDUINO DOSSIER RESSOURCE POUR LA CLASSE ARDUINO DOSSIER RESSOURCE POUR LA CLASSE Sommaire 1. Présentation 2. Exemple d apprentissage 3. Lexique de termes anglais 4. Reconnaître les composants 5. Rendre Arduino autonome 6. Les signaux d entrée

Plus en détail

Cours1 +Cours 2. Structure d un programme et Compilation Notions de classe et d objet Syntaxe POO 1

Cours1 +Cours 2. Structure d un programme et Compilation Notions de classe et d objet Syntaxe POO 1 Cours1 +Cours 2 Structure d un programme et Compilation Notions de classe et d objet Syntaxe POO 1 Programmation Orientée Objet Un ensemble d objet qui communiquent Pourquoi POO Conception abstraction

Plus en détail

Instructions assembleur

Instructions assembleur Instructions assembleur 0001011011110110 0001011101101101 10001001 Instruction vue par le programmeur assembleur ou instruction élémentaire cible d'un compilateur Réalise une modification de l'état interne

Plus en détail

Soutenance de PFE. Evolution de l'outil EZTrace. Charles Aulagnon Inria Bordeaux (SED) Maître de stage : François Rué mars septembre 2011

Soutenance de PFE. Evolution de l'outil EZTrace. Charles Aulagnon Inria Bordeaux (SED) Maître de stage : François Rué mars septembre 2011 Soutenance de PFE Evolution de l'outil EZTrace Charles Aulagnon Inria Bordeaux (SED) Maître de stage : François Rué mars septembre 2011 ENSEIRB-MATMECA Tuteur : Corentin Travers Sommaire 1. EZTrace Contexte

Plus en détail

Objectifs de ce cours. Introduction au langage C - Cours 4. Procédures. Exemple de procédure. Analyse de problème.

Objectifs de ce cours. Introduction au langage C - Cours 4. Procédures. Exemple de procédure. Analyse de problème. 1/30 Objectif de ce cours 2/30 Objectifs de ce cours Introduction au langage C - Cours 4 Girardot/Roelens Septembre 2013 Analyse de problème I décomposer un traitement complexe en traitements simples Concepts

Plus en détail

Dr. M.W. Youssef Systèmes d exploitation Avancées 1ING ISI - 2009

Dr. M.W. Youssef Systèmes d exploitation Avancées 1ING ISI - 2009 Institut Supérieur d Informatique Chapitre 02 Synchronisation des processus Dr. Mohamed-Wassim YOUSSEF 2009 [www.wassimyoussef.info] Systèmes d exploitation avancées 1 ING ISI 1 ére année Ingénieur en

Plus en détail

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile Dans ce TP, vous apprendrez à définir le type abstrait Pile, à le programmer en Java à l aide d une interface

Plus en détail

INITIATION A LA PROGRAMMATION EN C

INITIATION A LA PROGRAMMATION EN C INITIATION A LA PROGRAMMATION EN C OBJECTIF : ETRE CAPABLE DE CRÉER OU MODIFIER DE PETITS OUTILS DE TRAITEMENT D IMAGE Denis MARIANO-GOULART Service de médecine nucléaire. CHRU Lapeyronie. Montpellier.

Plus en détail

Virtualisation de la mémoire du microprocesseur

Virtualisation de la mémoire du microprocesseur Master d informatique 1 re année Module d architecture des systèmes d exploitation Virtualisation de la mémoire du microprocesseur Simon DUQUENNOY Gilles GRIMAUD Philippe MARQUET Novembre 2009 Ce document

Plus en détail

Langage Élémentaire Algorithmique Spécifications du langage

Langage Élémentaire Algorithmique Spécifications du langage Langage Élémentaire Algorithmique Spécifications du langage Lionel Clément Version provisoire Novembre 2012 Le but de ce projet est de livrer un compilateur pour un langage élémentaire algorithmique (Léa).

Plus en détail

Introduction à la programmation orientée objet, illustrée par le langage C++ Patrick Cégielski cegielski@u-pec.fr

Introduction à la programmation orientée objet, illustrée par le langage C++ Patrick Cégielski cegielski@u-pec.fr Introduction à la programmation orientée objet, illustrée par le langage C++ Patrick Cégielski cegielski@u-pec.fr Mars 2002 Pour Irène et Marie Legal Notice Copyright c 2002 Patrick Cégielski Université

Plus en détail

Structure d un programme et Compilation Notions de classe et d objet Syntaxe

Structure d un programme et Compilation Notions de classe et d objet Syntaxe Cours1 Structure d un programme et Compilation Notions de classe et d objet Syntaxe POO 1 Programmation Orientée Objet Un ensemble d objet qui communiquent Pourquoi POO Conception abstraction sur les types

Plus en détail

Programmation système I Les entrées/sorties

Programmation système I Les entrées/sorties Programmation système I Les entrées/sorties DUT 1 re année Université de Marne La vallée Les entrées-sorties : E/O Entrées/Sorties : Opérations d échanges d informations dans un système informatique. Les

Plus en détail

Conduite du Projet Système

Conduite du Projet Système Conduite du Projet Système Département Télécom 2ème Année Enseignants : Yves Denneulin, Jacques Mossière, Grégory Mounié, Simon Nieuviarts, Franck Rousseau, Sébastien Viardot Résumé Ce document est complémentaire

Plus en détail

Processeur JAP. Le langage JAVA

Processeur JAP. Le langage JAVA Processeur JAP Ce document présente les dernières nouveautés concernant le processeur JAVA de la société AED. Il commence par un rappel sur les caractéristiques du processeur actuel, puis présente les

Plus en détail

Notions de langage machine

Notions de langage machine Notions de langage machine 18 décembre 2009 Rappels et introduction Architecture de Van Neumann : Processeur = UC + UAL Mémoire interne au processeur = les registres (soit seulement l accumulateur, soit

Plus en détail

Fiche technique CPU 315SN/PN (315-4PN33)

Fiche technique CPU 315SN/PN (315-4PN33) Fiche technique CPU 315SN/PN (315-4PN33) Données techniques N de commande 315-4PN33 Information générale Note - Caractéristiques SPEED-Bus - Données techniques de l'alimentation Alimentation (valeur nominale)

Plus en détail

Eléments de syntaxe du langage Java

Eléments de syntaxe du langage Java c jan. 2014, v3.0 Java Eléments de syntaxe du langage Java Sébastien Jean Le but de ce document est de présenter es éléments de syntaxe du langage Java : les types primitifs, les opérateurs arithmétiques

Plus en détail

Recommendations de codage

Recommendations de codage 1 Génie logiciel Recommendations de codage (incomplet & encore en travaux) Renaud Marlet LaBRI / INRIA http://www.labri.fr/~marlet màj 23/04/2007 Bonnes pratiques de 2 programmation Indispensable pour

Plus en détail

Rappels Entrées -Sorties

Rappels Entrées -Sorties Fonctions printf et scanf Syntaxe: écriture, organisation Comportement Données hétérogènes? Gestion des erreurs des utilisateurs 17/11/2013 Cours du Langage C ibr_guelzim@yahoo.fr ibrahimguelzim.atspace.co.uk

Plus en détail

Sujet d examen 1. Pratique du C. Novembre 2009

Sujet d examen 1. Pratique du C. Novembre 2009 Durée 1 h 30 Documents autorisés Sujet d examen 1 Pratique du C Novembre 2009 Introduction Écrivez lisiblement et n hésitez pas à commenter votre code en langage C. Vous ne pouvez utiliser que les fonctions

Plus en détail

Manipulations binaires en C++

Manipulations binaires en C++ Manipulations binaires en C++ Tous les exercices devront être résolus sans utiliser les opérateurs *, / et % Rappels En informatique, les nombres sont stockés sous forme binaire. Même si ce n'est pas nécessaire,

Plus en détail

Fiche technique CPU 314SC/DPM (314-6CG13)

Fiche technique CPU 314SC/DPM (314-6CG13) Fiche technique CPU 314SC/DPM (3146CG13) Données techniques N de commande 3146CG13 Type CPU 314SC/DPM Information générale Note Caractéristiques SPEEDBus Technologie SPEED7 24 x DI, 16 x DO, 8 x DIO, 4

Plus en détail

SIN : Maquettage d une solution en réponse à un cahier des charges

SIN : Maquettage d une solution en réponse à un cahier des charges SIN : Maquettage d une solution en réponse à un cahier des charges Module SIN 1.1 : Concevoir un système local et permettre le dialogue entre l homme et la machine Activité : TP2 IOWarrior - Commande de

Plus en détail

DSP architecture et applications

DSP architecture et applications Haute Ecole d Ingénierie et de Gestion du Canton du Vaud DSP architecture et applications Chapitre 3 GÉNÉRATEURS D ADRESSES Création de buffers linéaires et circulaires Gestion des pages mémoires ADSP-29X

Plus en détail

Solution des exercices

Solution des exercices Solution des exercices Chapitre 1 Environnement algorithmique et conventions Exercice 1 : Syntaxe algorithmique 1. L algorithme emprunt montre comment utiliser le pseudo-langage pour écrire un programme.

Plus en détail

Le PIC 16F628 :l essentiel

Le PIC 16F628 :l essentiel Le PIC 16F628 L essentiel Auteur : Galodé Alexandre Date : 08/02/2005-1 - INTRODUCTION Ce livre, à pour but de vous présenter le PIC16F628, et d apprendre à le programmer. Nous pouvons le considérer comme

Plus en détail

Tutoriel / aide mémoire

Tutoriel / aide mémoire Tutoriel / aide mémoire MPLAB IDE 7.40 C30 CREMMEL Marcel Lycée Louis Couffignal STRASBOURG Table des matières 1. Démarrer un nouveau projet 3 2. Compilation 9 2.1 Processus de compilation 9 2.2 Lancer

Plus en détail

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

INTRODUCTION A JAVA. Fichier en langage machine Exécutable INTRODUCTION A JAVA JAVA est un langage orienté-objet pur. Il ressemble beaucoup à C++ au niveau de la syntaxe. En revanche, ces deux langages sont très différents dans leur structure (organisation du

Plus en détail

Examen de Langage C Vendredi 2 Décembre 2011

Examen de Langage C Vendredi 2 Décembre 2011 Année 2011-2012 Examen de Langage C Vendredi 2 Décembre 2011 Promotion Guichet 1 ière année É. Salvat Modalités : Durée : 2 heures Seul document autorisé : carte de référence du C, pas de machine à calculer,

Plus en détail

J.-M Friedt. FEMTO-ST/département temps-fréquence. jmfriedt@femto-st.fr. transparents à jmfriedt.free.fr. 19 janvier 2015

J.-M Friedt. FEMTO-ST/département temps-fréquence. jmfriedt@femto-st.fr. transparents à jmfriedt.free.fr. 19 janvier 2015 Informatique FEMTO-ST/département temps-fréquence jmfriedt@femto-st.fr transparents à jmfriedt.free.fr 19 janvier 2015 1 / 15 16 séances Plan des cours 1 C pour microcontroleurs : volatile, tailles de

Plus en détail

03/04/2007. Tâche 1 Tâche 2 Tâche 3. Système Unix. Time sharing

03/04/2007. Tâche 1 Tâche 2 Tâche 3. Système Unix. Time sharing 3/4/27 Programmation Avancée Multimédia Multithreading Benoît Piranda Équipe SISAR Université de Marne La Vallée Besoin Programmes à traitements simultanés Réseau Réseau Afficher une animation en temps

Plus en détail