Consignes TP ADA

Plan

  1. Rappels (très très rapides) sur l’utilisation des commandes Unix
  2. Présentation de l'environnement de développement GNAT Studio
  3. Description de la carte utilisée durant les TP

Environnement Linux 

L’objectif de cette partie n’est pas de faire un cours de système mais simplement de donner les rudiments « vitaux » pour faire les TP. Le cours de système d’exploitation sera fait dans le cadre d’une autre UV.

Ouverture d’une console

Dans la barre des menus, Applications>Outils systèmes> Terminal (ou raccourci Ctrl+Alt+t)

Architecture des dossiers

« • /» représente le répertoire courant

«•• /» représente le répertoire père

« ~ » représente votre répertoire personnel (home directory)

« cd •• » accède au répertoire père ("monter d’un cran")

« pwd » affiche le chemin absolu du répertoire courant (où on est)

« ls –l » liste le contenu du répertoire courant

« mkdir toto » crée un répertoire toto à partir du répertoire courant

Pour ouvrir un programme avec GNAT Studio

  1. Ouvrir une console
  2. Créer les répertoires de travail
  3. Se placer dans le bon répertoire
  4. Lancer gnatstudio avec le nom du fichier ayant l'extension .gpr suivi de '&'

Exemple

cd ~

mkdir ADA

cd ADA

mkdir TP1

cd TP1

gnatstudio missionpacman.gpr &


GNAT Studio

Introduction

En début de semestre, vous avez lancé un script de configuration de votre environnement de travail personnel sur votre compte INSA.

Le répertoire ~/TPADA2IMACS a été créé contenant tous les sous-répertoires et leurs fichiers nécessaires pour l'ensemble des TP ADA du semestre.

Par exemple, dans le répertoire ~/ADA2IMACS/TP1, on retrouve un fichier et deux répertoire  :

drwxr-xr-x 4 g_auriol grp-default 4096 janv. 10 16:48 .
drwxr-xr-x 5 g_auriol grp-default 4096 janv. 10 17:13 ..
drwxr-xr-x 2 g_auriol grp-default 4096 janv. 10 16:50 obj
drwxr-xr-x 2 g_auriol grp-default 4096 janv. 10 16:48 src
-rw-r--r-- 1 g_auriol grp-default  994 janv. 10 16:48 tp1_pacman.gpr

On lance GNAT Studio en lui passant en argument un fichier .gpr, par exemple :

gnatstudio tp1_pacman.gpr &

Vous n'aurez pas à modifier directement le contenu des répertoires mais par curiosité en visitant le répertoire src vous trouverez le fichier source mission_pacman.adb.

Utilisation

La capture d'écran ci-dessus a été faite après avoir changé le thème (Barre des menus : Edit>Preferences...>Color Theme > Default) pour rendre les icônes liées aux TP plus visibles.

Dans la barre des menus, seulement 2 items seront utiles pour une utilisation standard:

  • le menu Build>Project qui permet de compiler votre programme en choisissant Build All  ;
  • le menu ArmAda (créé par Sébastien Di Mercurio!) qui permet de charger :
    • votre code sur la carte (ou utiliser le raccourci en cliquant sur l'icône )
    • le code de la solution (ou utiliser le raccourci en cliquant sur l'icône )

Le code de votre programme apparaît dans la fenêtre principale en l'ouvrant par un clic sur le lien contenu dans src dans le fenêtre "Project" de gauche

Vous pouvez consulter les acteurs utilisés dans la fenêtre principale en les ouvrant par un clic sur le lien /mnt/commetud/2eme Année IMACS/ADA/lib/lib_TP/TP1 dans la fenêtre "Project" de gauche.

Les messages d'erreurs et d'avertissements après une compilation apparaissent dans la fenêtre "Messages" en bas au centre. Un clic sur une erreur vous amène directement à l'endroit de votre code où le compilateur a détecté l'erreur.

GNATStudio est un outil très puissant, notamment il intègre des fonctions de debug qui peuvent être très utiles comme l'utilisation des points d'arrêt.


Carte utilisée en séance de TP

Sébastien DiMercurio (super ingénieur du DGEI) a développé une carte électronique spécifiquement pour cette série de TP en 2IMACS.

Cette carte embarque une carte discovery 32F746DISCOVERY avec :

  • Un haut parleur,
  • Un écran sensitif,
  • Un joypad, des boutons poussoir,
  • Un accéléromètre,
  • Un gyromètre,
  • Un  magnétomètre,
  • Un microphone stéréo, une entrée et une sortie son
  • Un contrôleur Ethernet et un contrôleur Wifi
  • Une sortie vidéo composite