170 | | == 2.9 Exemple d'utilisation == |
171 | | |
172 | | A titre d'exercice, vous devez utiliser le '''GDB server''' sur l'architecture mono-processeur du TP4, |
173 | | sur laquelle vous exécuterez l'application logicielle réalisant le calcul du PGCD grâce au coprocesseur GCD. Mais deux ''bugs'' ont été volontairement introduit dans le logiciel, et l'objet de cette première partie est de localiser et de localiser et de corriger ces deux ''bugs''. |
174 | | |
175 | | Commencer par vous placer dans le répertoire '''soft''', et lancez le Makefile pour générer le fichier '''bin.soft''', ainsi que le fichier '''bin.soft.txt''' qui contient la version désassemblée (lisible) du logiciel embarqué. |
176 | | |
177 | | Lancez l'exécution du simulateur dans une première fenêtre... et constatez que vous n'obtenez pas le résultat attendu. |
178 | | |
179 | | Modifiez le fichier '''tp4_top.cpp''' et le fichier '''tp5.desc''' pour introduire le GDB Server dans l'architecture comme indiqué ci-dessus. |
180 | | Regénérez le simulateur en utilisant soclib-cc. Définissez la variable d'environnement SOCLIB_GDB. |
181 | | Lancez l'exécution du simulateur dans une première fenêtre de travail. |
| 170 | == 2.9 Utilisation == |
| 171 | |
| 172 | A titre d'exercice, vous allez utiliser le '''GDB server''' sur l'architecture mono-processeur du TP4, |
| 173 | sur laquelle vous exécuterez successivement deux applications logicielles contenant chacune un bug que |
| 174 | vous devez localiser puis corriger. |
| 175 | |
| 176 | Outre les fichiers permettant de regénérer l'architecture monoprocesseur du TP4, l'archive [attachment:soclib_tp5.tgz soclib_tp5.tgz] contient deux répertoires '''soft_gcd''' et '''soft_prime'''. |
| 177 | Le répertoire '''soft_gcd''' contient tous les fichiers nécessaires à la génération du code binaire de l'application de calcul du PGCD que vous connaissez déjà. Le répertoire '''soft_prime''' contient tous les fichiers nécessaires à la génération du code binaire d'une autre application logicielle réalisant le calcul des nombres premiers. Les deux bugs (différents) qui ont été introduits dans chacune de ces deux applications ne sont pas visibles à la compilation, et n'apparaissent qu'à l'exécution. |
| 178 | |
| 179 | Créez un répertoire de travail TP5, puis téléchargez et décompressez l'archive dans ce tépertoire. |
| 180 | {{{ |
| 181 | $ tar xzvf soclib_tp5.tgz |
| 182 | }}} |
| 183 | |
| 184 | '''Question''' : Placez-vous dans le répertoire '''soft_gcd''', compilez l'application logicielle en utilisant le Makefile |
| 185 | qui vous est fourni. Retourner dans le répertoire TP4_etudiant''' pour générer le simulateur '''simulator.x'''. |
| 186 | Lancez l'exécution du simulateur ... et constatez que vous n'obtenez pas le résultat attendu. Il faut évidemment redéfinir le chemin d'accès au code binaire: |
| 187 | {{{ |
| 188 | $ ./simulator.x -SOFT soft_gcd/bin.soft |
| 189 | }}} |
| 190 | |
| 191 | Modifiez le fichier '''tp4_top.cpp''' et le fichier '''tp4.desc''', ainsi que le fichier '''Makefile''' pour introduire le GDB Server dans l'architecture comme indiqué ci-dessus, en remplaçant partout ''tp4'' par ''tp5'' dans les noms de fichier. |
| 192 | |
| 193 | Regénérez le simulateur en utilisant soclib-cc. |
| 194 | |
| 195 | Lancez l'exécution du simulateur dans une première fenêtre de travail, après avoir redéfini la variable d'environnement SOCLIB_GDB comme indiqué ci-dessus. |