Changes between Version 6 and Version 7 of SujetTP1
- Timestamp:
- Feb 27, 2015, 7:19:28 PM (10 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
SujetTP1
v6 v7 19 19 == 0. Plateforme de développement == 20 20 21 [[Image(htdocs:png/plateforme-peri-raspberry.png, width= 500px, nolink)]]21 [[Image(htdocs:png/plateforme-peri-raspberry.png, width=700px, nolink)]] 22 22 23 23 Pour exécuter votre programme sur une carte Raspberry Pi, vous devez vous 24 24 connecter en SSH sur une carte Raspberry Pi en passant par le routeur. 25 25 Le routeur a deux adresses: `132.227.102.36` du coté laboratoire et `192.168.1.1` de l'autre coté. 26 Le routeur crée un sous réseau (`192.168.1.x`) où sont connectés les cartes.26 Le routeur crée un sous-réseau (`192.168.1.x`) où sont connectées les cartes. 27 27 Les cartes sont numérotées de `20` à `24`, le routeur a été programmé de telle sorte 28 28 que l'adresse internet de la carte n°`X` est comme adresse 192.168.1.`X` … … 31 31 port `5000`+`X` de l'adresse `132.227.102.36` soient routés vers l'adresse `192.168.1.X`. 32 32 33 Il n'y a qu'un seul compte utilisateur sur une carte Raspberry Pi. Le nom de login es `pi` et le mot de passe est `raspberry`.34 35 Ainsi, p ar exemple, pour se connecteur en ssh sur la carte n°`22` avec le login `pi`, il faut taper (remarquez que c'est un `p` minuscule):33 Il n'y a qu'un seul compte utilisateur sur une carte Raspberry Pi. Le nom de login est `pi` et le mot de passe est `raspberry`. 34 35 Ainsi, pour se connecter en ssh sur la carte n°`22` avec le login `pi`, il faut taper (remarquez que c'est un `p` minuscule): 36 36 {{{ 37 37 $ ssh -p 5022 pi@132.227.102.36 … … 74 74 la compilation, l'édition des liens et la manipulation de binaires pour la 75 75 carte Raspberry Pi. Et tous ces outils sont préfixés par la même chaîne de 76 caractères: "bcm2708hardfp". Il d'agit donc d'un compilateur pour un SoC76 caractères: `bcm2708hardfp-`. Il s'agit donc d'un compilateur pour un SoC 77 77 BCM2708 avec l'option hardfp activée (calcul flottant matériel). Il s'agit 78 78 bien du SoC de la carte Raspberry Pi. … … 86 86 }}} 87 87 Notez bien que l'indentation de la seconde ligne doit OBLIGATOIREMENT être 88 une tabulation et non une suite sd'espaces.88 une tabulation et non une suite d'espaces. 89 89 90 90 Vous pourrez donc par exemple, écrire la règle de Makefile suivante: … … 131 131 Ensuite, compilez-le grâce au Makefile qui vous est fourni. 132 132 133 134 133 Qu'observez-vous ? Essayez de changer la fréquence de clignotement. 135 134 136 135 == 3. Contrôle de plusieurs GPIO en mode "sortie" == 137 136 138 Refaites le même exercice que préc edemment mais cette fois-ci configurer137 Refaites le même exercice que précédemment, mais cette fois-ci configurez 139 138 plusieurs GPIO en sorties. 140 139 … … 150 149 151 150 Toujours à l'aide de la librairie libgpio fournie avec ce TP, écrivez un 152 programme qui configure la GPIO < adéfinir> en entrée. Et affichez la151 programme qui configure la GPIO <à définir> en entrée. Et affichez la 153 152 valeur de ces GPIO dans une boucle infinie (boucle d'échantillonnage). 154 153 155 Une fois réalisé, compil évotre programme comme précédemment à l'aide du154 Une fois réalisé, compilez votre programme comme précédemment à l'aide du 156 155 Makefile fourni. Et validez votre code avec le chargé de TP ! 157 156 … … 161 160 Les cartes Raspberry Pi sont équipées d'un petit circuit analogique dans 162 161 lequel des boutons poussoir sont connectés aux certains GPIO. Ces GPIO sont 163 connecté avec une résistance de Pull-Up, ce qui signifie que lorsque que vous162 connectés avec une résistance de Pull-Up, ce qui signifie que lorsque que vous 164 163 n'appuyez pas, la valeur du GPIO vaut 1 et lorsque vous appuyez, le courant 165 164 passe par à la masse et la valeur du GPIO passe à 1. … … 170 169 processeur de la carte fonctionne à une fréquence de 700MHz ? 171 170 172 À supposer que vous êtes capable d'appuye zsur le bouton à une fréquence de173 10Hz ( i.e. 10 fois par seconde) et sachant que le théorème de Shannon dit171 À supposer que vous êtes capable d'appuyer sur le bouton à une fréquence de 172 10Hz (c.-à-d. 10 fois par seconde) et sachant que le théorème de Shannon dit 174 173 qu'il faut au moins échantillonner au double de la fréquence du signal 175 d'entrée , quelle est la plus petitfréquence d'échantillonnage possible ?174 d'entrée pour ne pas perdre de cycle, quelle est la plus petite fréquence d'échantillonnage possible ? 176 175 177 176 Pour plus de fiabilité, on utilisera une fréquence d'échantillonnage de 100Hz. 178 Comment pouvez 177 Comment pouvez-vous écrire un programme qui échantillonne à cette fréquence ? 179 178 180 179 == 5. Manipulation de registres bas-niveau == … … 184 183 gpio_config, gpio_value et gpio_update. 185 184 186 Vous réaliserez cela étape par étape. Aidez-vous des fichiers objet s187 précompilé dans le répertoire lab1.185 Vous réaliserez cela étape par étape. Aidez-vous des fichiers objet 186 précompilés dans le répertoire lab1. 188 187 189 188 Par exemple, si vous souhaitez écrire votre propre gpio_setup, créez un … … 193 192 ATTENTION: pour fonctionner avec le reste de la librairie libgpio, il vous 194 193 faut déclarer dans gpio_setup.c une variable globale gpio_base_p de type 195 uint32_t volatile *. Cette variable qui est un pointe r vers un entier196 non -signé de 32 bits doit contenir l'adresse de début de la région de mémoire194 uint32_t volatile *. Cette variable qui est un pointeur vers un entier 195 non signé de 32 bits doit contenir l'adresse de début de la région de mémoire 197 196 virtuelle associée après un appel à la fonction mmap. 198 197 … … 200 199 201 200 Maintenant que vous maîtrisez tous les aspects liés à la configuration et 202 à la programm tion des GPIO sur Raspberry Pi, laisser aller votre imagination201 à la programmation des GPIO sur Raspberry Pi, laisser aller votre imagination 203 202 et proposer d'autres programmes à exécuter sur la carte Raspberry Pi qui 204 203 vous est fournie.