Changes between Version 3 and Version 4 of IOC20_T01


Ignore:
Timestamp:
Jan 29, 2020, 6:31:04 PM (5 years ago)
Author:
franck
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • IOC20_T01

    v3 v4  
    7777de type "Hello World!" qui affiche une phrase sur la sortie standard
    7878grâce à un printf.
    79 
    80 Pour compiler votre programme, suivez les instructions suivantes.
     79Pour compiler votre programme, suivez les instructions suivantes :
    8180
    8281* Tout d'abord, configurez votre terminal pour utiliser le compilateur croisé. Ajoutez dans votre $HOME/.bashrc (sur le PC de développement) la ligne suivante et ouvrez un nouveau terminal.
     
    8584  }}}
    8685
    87 * Une fois le terminal configuré, vérifiez que le compilateur est accessible:
     86* Une fois le terminal configuré, vérifiez que le compilateur est accessible, si cette commande ne retourne rien, la configuration n'a pas fonctionné.
    8887  {{{#!sh
    8988  $ which bcm2708hardfp-gcc
    9089  }}}
    91   Si cette commande ne retourne rien, la configuration n'a pas fonctionné.
    92 
    93 Votre suite d'outils (toolchain) contient tous les outils nécessaires pour la compilation, l'édition des liens et la manipulation de binaires pour la carte RaspberryPi. Et tous ces outils sont préfixés par la même chaîne de caractères: `bcm2708hardfp-`. Il s'agit donc d'un compilateur pour un SoC BCM2708 avec l'option hardfp activée (calcul flottant matériel). Il s'agit bien du SoC de la carte RaspberryPi.
     90 
     91
     92Votre suite d'outils (toolchain) contient tous les outils nécessaires pour la compilation, l'édition des liens et la manipulation de binaires pour la carte !RaspberryPi. Et tous ces outils sont préfixés par la même chaîne de caractères: `bcm2708hardfp-`. Il s'agit donc d'un compilateur pour un SoC BCM2708 avec l'option hardfp activée (calcul flottant matériel). Il s'agit bien du SoC de la carte RaspberryPi.
    9493
    9594Maintenant, pour compiler un programme C vers un binaire qui puisse s'exécuter sur la carte RaspberryPi, il vous faut écrire un Makefile pour plus de facilité. Pour cela, suivez la syntaxe de base des Makefile:
     
    112111CFLAGS=-O2 -static
    113112CARD=20
    114 NAME=binome
     113NAME=nom1-nom2
    115114CFLAGS=-W -Wall -Wextra -Wfatal-errors -O2
    116115APP=helloworld
    117116
    118117all: $(APP)
    119     scp -P 50$(CARD) $^ pi@peri:$(NAME)
     118    scp -P 622$(CARD) $^ pi@peri:$(NAME)
    120119
    121120clean:
     
    123122}}}
    124123
    125   **__Attention__**::
     124  **__Attention aux tabulations__**::
    126125  Devant les commandes (scp et rm) vous devez mettre une tabulation. Si vous n'êtes pas familier avec les makefiles, consultez l'article
    127126  de [https://fr.wikipedia.org/wiki/Make Wikipedia] ou de [http://gl.developpez.com/tutoriel/outil/makefile/ Developpez.com].
    128127
    129128  **__0ption -static__**::
    130   L'option "-static" est utilisée par l'éditeur de lien. Elle est importante ici, car la librairie C du compilateur croisé n'est pas tout à fait identique à la librairie C sur la carte RaspberryPi. Ajouter "-static" à la ligne de compilation permet de créer un binaire qui contient en plus les fonctions de la librairie C utilisée par votre programme. Ceci permettra à celui-ci de ne pas essayer d'utiliser des fonctions de la librairie C installée sur la carte qui, sinon, aurait été chargée dynamiquement.
     129  L'option "-static" est utilisée par l'éditeur de lien. Elle est importante ici, car la librairie C du compilateur croisé n'est pas tout à fait identique à la librairie C sur la carte !RaspberryPi. Ajouter "-static" à la ligne de compilation permet de créer un binaire qui contient en plus les fonctions de la librairie C utilisée par votre programme. Ceci permettra à celui-ci de ne pas essayer d'utiliser des fonctions de la librairie C installée sur la carte qui, sinon, aurait été chargée dynamiquement.
    131130
    132131== 2.2. Contrôle de GPIO en sortie ==
     
    142141}}}
    143142* Éditez le fichier lab1.c et ajoutez le code que vous pensez nécessaire à la réalisation de cet exercice.\\
    144   ATTENTION: ne changez pas les valeurs de GPIO_LED0, car vous risqueriez d'endommager la carte RaspberryPi.
     143  ATTENTION: ne changez pas les valeurs de GPIO_LED0, car vous risqueriez d'endommager la carte !RaspberryPi.
    145144* Ensuite, compilez-le grâce au Makefile (**Vous devez l'adapter**) qui vous est fourni.
    146145  Qu'observez-vous ? Essayez de changer la fréquence de clignotement.