Configuration de l'environnement des TP
Les travaux pratiques se font sur Linux. Il est possible d'utiliser windows linux subsystem.
A) Étape 1. Prototype virtuel et chaîne de compilation MIPS
- Possibilité n°1 : si vous travaillez sur les machines de la PPTI.
Le cross compilateur MIPS et le prototype virtuel du SoC sont 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.
- Éditez le fichier
$HOME/.bashrc et ajoutez au début :
source /Infos/lmd/2024/licence/ue/LU3IN031-2025fev/kO6-a2/bin/SourceMe.sh
- Ouvrez un nouveau terminal pour démarrer un nouveau bash afin de lire votre nouveau fichier
.bashrc.
- Créez un répertoire
kO6-a2 à la racine de votre compte: mkdir $HOME/kO6-a2
- Possibilité n°2 : Si vous travaillez sur votre machine Linux personnelle.
Vous avez besoin du cross compilateur MIPS et du prototype virtuel du SoC.
- Récupérez le fichier de l'archive kO6a2bin.tgz contenant le cross compilateur et le prototype virtuel (si la version compilée du framebuffer ne fonctionne pas, vous devrez le recompilier à partir de ses sources )
- Placez l'archive
kO6a2bin.tgz à 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 :
cd $HOME/kO6-a2
- Éditez le fichier
$HOME/.bashrc et ajoutez au début de ce fichier :
source $HOME/kO6-a2/bin/SourceMe.sh
- Ouvrez un nouveau terminal pour démarrer un nouveau bash afin de lire votre nouveau fichier
.bashrc.
- Notez que vous pouvez placer le répertoire
kO6-a2 ailleurs qu'à la racine de votre compte, 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 bien à la racine du compte.
- Possibilité n°3 : Si vous travaillez sur Windows, vous pouvez utiliser le WLS2 (Windows Subsystem for Linux) et installer le prototype du SoC et l'environnement de compilation, presque comme si vous étiez sur Linux natif.
- installation de la dernière version Powershell. Je ne suis pas absolument certain que cela soit nécessaire, mais Powershell est un interpréteur de commande beaucoup plus évolué que l'interpréteur historique de Windows.
winget search Microsoft.PowerShell
winget install --id Microsoft.PowerShell --source winget
- Installation de WSL2 et lancement
wsl --install
wsl --update
wsl
- Installation de l'environnement sur WSL2, à faire dans le terminal de WSL, gcc, xterm et sdl1.2
sudo apt install gcc -y
sudo apt install xterm -y
sudo apt install libsdl1.2-dev -y
- Installation de l'environnement de compilation et d'exécution pour les TP
- Récupérer l'archive sur le site de l'UE kO6a2bin.tgz contenant le cross compilateur et le prototype virtuel
- L'extraire et placer le répertoire ko6-a2 à la racine du compte WSL. Pour être à la racine vous devez utiliser la commande shell
cd
- Compiler la fenêtre graphique fb : aller dans le répertoire
ko6-a2/bin/soclib-fb et taper make
- Editer le fichier
ko6-a2/bin/SourceMe.sh pour mettre à jour la variable $KO6 définissant le répertoire de ko6
- Ajouter source
ko6-a2/bin/Sourceme.sh au début de votre fichier .bashrc à la racine de votre compte WSL2 et pour cette première fois, sourcez le source ko6-a2/bin/Sourceme.sh
B) Étape 2. Test : compilation et exécution d'un test
- Vous devez avoir réalisé l'étape A (quel que soit votre choix machine PPTI ou Perso)
- Allez maintenant dans le répertoire
kO6-a2 avec la commande cd
- Récupérer l'archive test.tgz que vous placez dans le répertoire
kO6-a2
- Décompressez l'archive avec la commande :
tar xvzf test.tgz
- Testez avec:
cd test;make exec
- Si cela fonctionne :
- Le simulateur du SoC 'almo1' démarre.
- Dans le terminal où vous avez lancé la commande
make, 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 (framebuffer) 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).
Les travaux pratiques se font sur Linux. Il est possible d'utiliser windows linux subsystem.
Le cross compilateur MIPS et le prototype virtuel du SoC sont 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.
- Éditez le fichier
$HOME/.bashrcet ajoutez au début :source /Infos/lmd/2024/licence/ue/LU3IN031-2025fev/kO6-a2/bin/SourceMe.sh - Ouvrez un nouveau terminal pour démarrer un nouveau bash afin de lire votre nouveau fichier
.bashrc. - Créez un répertoire
kO6-a2à la racine de votre compte:mkdir $HOME/kO6-a2
Vous avez besoin du cross compilateur MIPS et du prototype virtuel du SoC.
- Récupérez le fichier de l'archive kO6a2bin.tgz contenant le cross compilateur et le prototype virtuel (si la version compilée du framebuffer ne fonctionne pas, vous devrez le recompilier à partir de ses sources )
- Placez l'archive
kO6a2bin.tgzà 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 :
cd $HOME/kO6-a2 - Éditez le fichier
$HOME/.bashrcet ajoutez au début de ce fichier :source $HOME/kO6-a2/bin/SourceMe.sh - Ouvrez un nouveau terminal pour démarrer un nouveau bash afin de lire votre nouveau fichier
.bashrc.
kO6-a2 ailleurs qu'à la racine de votre compte, 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 bien à la racine du compte.- installation de la dernière version Powershell. Je ne suis pas absolument certain que cela soit nécessaire, mais Powershell est un interpréteur de commande beaucoup plus évolué que l'interpréteur historique de Windows.
winget search Microsoft.PowerShell winget install --id Microsoft.PowerShell --source winget
- Installation de WSL2 et lancement
wsl --install wsl --update wsl
- Installation de l'environnement sur WSL2, à faire dans le terminal de WSL, gcc, xterm et sdl1.2
sudo apt install gcc -y sudo apt install xterm -y sudo apt install libsdl1.2-dev -y
- Installation de l'environnement de compilation et d'exécution pour les TP
- Récupérer l'archive sur le site de l'UE kO6a2bin.tgz contenant le cross compilateur et le prototype virtuel
- L'extraire et placer le répertoire ko6-a2 à la racine du compte WSL. Pour être à la racine vous devez utiliser la commande shell
cd - Compiler la fenêtre graphique fb : aller dans le répertoire
ko6-a2/bin/soclib-fbettaper make - Editer le fichier
ko6-a2/bin/SourceMe.shpour mettre à jour la variable$KO6définissant le répertoire deko6 - Ajouter source
ko6-a2/bin/Sourceme.shau début de votre fichier.bashrcà la racine de votre compte WSL2 et pour cette première fois, sourcez le sourceko6-a2/bin/Sourceme.sh
kO6-a2 avec la commande cd
kO6-a2
tar xvzf test.tgz
cd test;make exec
- Le simulateur du SoC 'almo1' démarre.
- Dans le terminal où vous avez lancé la commande
make, vous devez voir la bannière du simulateuralmo1(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
xtermavec le message "numéro --> Hello World!" et une fenêtre graphique (framebuffer) 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-Csur le terminal de lancement du simulateur.
- 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.shet indiquer le bon répertoire. - Si le shell vous répond
command not foundoucommande inconnue, c'est que vous n'avez pas sourcé le fichierSourceMe.sh. Vous pouvez le vérifier en tapant la commandealmo1.x
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.
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).
Last modified
10 days ago
Last modified on Feb 17, 2026, 5:02:16 PM
Note:
See TracWiki
for help on using the wiki.
