Configuration de l'environnement des TP
}}}
> Les travaux pratiques se font sur Linux. Il est possible d'utiliser **windows linux subsystem**, mais cela demande des installations de bibliothèques, ce n'est pas documenté ici.
= A) Étape 1. Prototype virtuel et chaîne de compilation MIPS
* **Solution 1** : les fichiers sont sur votre compte
* Récupérez l'archive contenant **[htdocs:files/kO6a2bin.tgz le prototype virtuel et la chaîne de compilation MIPS]**
* Placez l'archive à la racine de votre compte et ouvrez un terminal
* Décompressez l'archive avec la commande : **`tar xvzf kO6a2bin.tgz`** à la racine de votre compte (''si ça ne marche pas utilisez **`tar xvf kO6a2bin.tgz`**'').
* Si vous avez bien placé l'archive à la racine de votre compte, déplacez-vous dans kO6-a2 : **`cd $HOME/kO6-a2`**
* Éditez le fichier **`$HOME/.bashrc`** et ajoutez au début de ce fichier :\\**`source $HOME/kO6/bin/SourceMe.sh`**
* Ouvrez un nouveau terminal pour démarrera un nouveau bash et qui lira votre nouveau fichier `.bashrc`.
* Vous pouvez placer le répertoire **`kO6-a2`** ailleurs qu'à la racine, voire le renommer, mais pour que cela fonctionne vous devez éditer le fichier **`kO6-a2/bin/SourceMe.sh`**, toutefois dans les textes des TP, nous ferons l'hypothèse que le répertoire **`kO6-a2`** est la racine du compte.
* **Solution 2** : Les fichiers sont
* Éditez le fichier **`$HOME/.bashrc`** et ajoutez au début :\\**`source /Infos/lmd/2022/licence/ue/LU3IN031-2022fev/kO6-a2/bin/SourceMe.sh`**
* Ouvrez un nouveau terminal pour démarrera un nouveau bash et qui lira votre fichier `.bashrc`.
= B) Étape 2. Test : compilation et exécution d'un test
* Vous devez avoir réalisé l'étape 1.
* Allez dans le répertoire **`kO6-a2/bin/test`** et lancez **`make exec`** :\\ **`cd $HOME/kO6-a2/test; make exec`**
* __Si cela fonctionne :
* Le simulateur du SoC **'almo1'** démarre.
* Dans le terminal où vous avez lancé la commande précédente, vous devez voir la bannière du simulateur **`almo1`** (**`SystemCASS`**) suivie d'informations sur l'architecture simulée (sans importance pour vous actuellement) et un compteur d'horloge qui s'incrémente tous les millions de cycles simulés.
* vous devez voir apparaître quatre fenêtres **`xterm`** avec le message "numéro --> Hello World!" et une fenêtre graphique contenant une roue en mouvement\\
* Ces messages et cette image sont écrits par le programme qui s'exécute sur le MIPS.
* Pour arrêter la simulation, tapez **`ctrl-C`** sur le terminal de lancement du simulateur.
* __Si cela ne fonctionne pas :
* Vous n'avez peut-être pas placé le répertoire **`kO6-a2`** à la racine de votre compte.
Vous avez le droit, mais vous devez modifier la première ligne du fichier **`kO6-a2/bin/SourceMe.sh`** et indiquer le bon répertoire.
* Si le shell vous répond **`command not found`** ou **`commande inconnue`**, c'est que vous n'avez pas ''sourcé'' le fichier **`SourceMe.sh`**. Vous pouvez le vérifier en tapant la commande **`almo1.x`**
= C) Remarques générales
Édition des programmes:: Utilisez un **vrai** éditeur de code **moderne**, tel que **`code`** (Visual Studio Code) (ou **`[g]vim`**, **`[x]emacs`** ou **`sublime-text`**) afin de profiter d'une aide à la programmation avec, par exemple, des fenêtres popup pour les prototypes.
Commandes du Shell:: Vous allez devoir utiliser l'interpréteur de commande **`shell`** de Linux et quelques commandes. Si vous avez l'habitude d'utiliser la souris, il va falloir vous faire un peu violence, mais dîtes-vous que c'est pour votre bien ! Vous devrez parfois utiliser des commandes que vous ne connaissez pas, soyez curieux et tentez un **`man`** sur la commande (ou une recherche sur le web, c'est bien aussi).
Compte-rendus:: Vous allez devoir faire vos compte-rendus en utilisant la syntaxe **!MarkDown**. Vous rendez un compte-rendu par binôme déposé sur **[https://moodle-sciences-22.sorbonne-universite.fr/course/view.php?id=2653 Moodle]**. Je vous recommande **vivement** de vous créer un compte gratuit sur **[https://hackmd.io HackMD]**. Vous pourrez éditer vos comptes-rendus en constituant une ''team'' sur HackMD avec votre binôme. Les comptes-rendus devront comporter vos noms, un modèle est proposé ici → __**[htdocs:files/CR031_TPx_nom1_nom2.md CR.md]**__