Changes between Version 10 and Version 11 of SoclibCourseTp5


Ignore:
Timestamp:
Oct 20, 2009, 7:25:31 PM (15 years ago)
Author:
alain
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • SoclibCourseTp5

    v10 v11  
    11{{{
    22#!html
    3 <h1>TP5 : GDB server </h1>
     3<h1>TP5 : GDB server & architectures multi-processeurs </h1>
    44}}}
    55[[PageOutline]]
     
    7878}}}
    7979
     80La seconde commande à taper dans GDB est la commande permettant d'éviter que le GDB Serverse bloque chaque fois que
     81le processeur entre dans le noyau du système d'exploitation (adresse 0X80000180).
     82{{{
     83(gdb) monitor exept 0 1
     84}}}
     85
    8086== 2.4 identification des processeurs ==
    8187
     
    174180= 4 Travail à réaliser =
    175181
     182L'archive [attachment:soclib_tp5.tgz soclib_tp3.tgz] contient différents fichiers dont vous aurez besoin pour ce TP.
     183Créez un répertoire de travail spécifique TP5, recopiez l'archive dans ce répertoire TP5, et décompressez-la:
     184{{{
     185$ tar xzvf soclib_tp3.tgz
     186}}}
     187
     188== 4.1 Utilisation de GDB ==
     189
     190On va dans un premier temps réutiliser la même architecture mono-processeur que celle modélisée dans le TP4, et on cherche
     191à exécuter la même application logicielle embarquée. Mais deux ''bugs'' ont été volontairement introduit dans le logiciel, et l'objet de cette première partie est de localiser et de corriger ces deux ''bugs'', en utilisant l'outil '''GDB Server'''.
     192
     193Commencer par vous placer dans le répertoire '''soft''', et lancez le Makefile pour générer le fichier '''bin.soft''', ainsi que le
     194fichier '''bin.soft.txt''' qui contient la version désassemblée (lisible) du logiciel embarqué.
     195
     196Lancez l'exécution du simulateur dans une première fenêtre... et constatez que vous n'obtenez pas le résultat attendu.
     197
     198Modifiez le fichier '''tp4_top.cpp''' et le fichier tp5.desc pour introduire le GDB Server dans l'architecture comme indiqué ci-dessus.
     199Regénérez le simulateur en utilisant soclib-cc. Définissez la variable d'environnement SOCLIB_GDB.
     200Lancez l'exécution du simulateur dans une première fenêtre de travail.
     201
     202Ouvrez dans une seconde fenêtre le fichier '''bin.soft.txt''', de façon à pouvoir suivre - instruction par instruction -
     203le programme en cours d'exécution, depuis la première instruction du code de boot (adresse Oxbfc00000).
     204
     205Lancez le client GDB dans une troisième fenêtre, connectez-le au simulateur et désactivez le mécanisme de blocage sur Exceptions Interruptions et Trappes, en utilisant les deux commandes ci-dessus. Commencez à exécuter le programme instruction par instruction  avec la commande ''stepi''. Le premier  dysfonctionnement apparaît assez rapidement...
     206
     207== 4.2 architecture à 4 clusters ==
     208
     209Quand  les deux bugs ont été localisés et corrigés, vous pouvez attaquer l'étape suivante, consistant à décrire une architecture
     210quadri-processeurs structurée en quatre clusters. Chaque cluster contiendra un processeur, un composant ICU, un timer,
     211un contrôleur de terminal TTY, une mémoire. On utilisera le composant '''vci_local_crossbar''' comme interconnect local,
     212et le composant '''vci_vgmn''' comme interconnect global.
     213
     214Il faut donc écrire les deux fichiers tp5_top.cpp et TP5.desc correspondant à cette architecture. assez profondément la top_cell qui sera
     215
    176216= 5 Compte_rendu =