INDEX
DOCS →
[Config]
[MIPS U]
[MIPS K]
[markdown]
[CR.md]
COURS →
[1 (+code) (+outils)]
[2]
[3]
[4]
[5]
[6]
[7]
[8]
[9]
TME →
[1]
[2]
[3]
[4]
[5]
[6]
[7]
[8]
[9]
CODE →
[gcc + soc]
[1]
[2]
[3]
[4]
[5]
[6]
[7]
[8]
[9]
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
- Possibilité n°1 :
Les outils de compilation et le prototype virtuel sont sur dans les répertoires du module et donc pas en local sur votre compte. C'est la solution recommandée pour ne pas utiliser inutilement votre quota dans le cas où vous travaillez uniquement dans les salles de la PPTI.
- Éditez le fichier
$HOME/.bashrc
et ajoutez au début :source /Infos/lmd/2023/licence/ue/LU3IN031-2024fev/kO6-a2/bin/SourceMe.sh
- Ouvrez un nouveau terminal pour démarrera un nouveau bash et qui lira votre fichier
.bashrc
.
- Éditez le fichier
- Possibilité n°2 :
les fichiers sont sur votre compte. C'est la solution nécessaire dans le cas où vous travaillez sur votre propre machine Linux.
- Récupérez l'archive contenant le prototype virtuel et la chaîne de compilation MIPS (source du framebuffer si la version compilée ne fonctionne pas)
- 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 utiliseztar 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 fichierkO6-a2/bin/SourceMe.sh
, toutefois dans les textes des TP, nous ferons l'hypothèse que le répertoirekO6-a2
est la racine du compte.
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 lancezmake exec
:
cd $HOME/kO6-a2/bin/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 fichierkO6-a2/bin/SourceMe.sh
et indiquer le bon répertoire. - Si le shell vous répond
command not found
oucommande inconnue
, c'est que vous n'avez pas sourcé le fichierSourceMe.sh
. Vous pouvez le vérifier en tapant la commandealmo1.x
- Vous n'avez peut-être pas placé le répertoire
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
ousublime-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 unman
sur la commande (ou une recherche sur le web, c'est bien aussi).
Last modified 9 months ago
Last modified on Feb 14, 2024, 4:32:01 PM