Changes between Version 37 and Version 38 of SoclibCourseTp3


Ignore:
Timestamp:
Oct 8, 2009, 8:54:51 PM (15 years ago)
Author:
alain
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • SoclibCourseTp3

    v37 v38  
    142142 * le fichier '''Makefile''' permet de lancer la génération du logiciel embarqué.
    143143
    144 '''Question''' : Quels sont les appels système qui permettent d'accéder à un terminal TTY ? Lorsqu'il y a plusieurs terminaux dans l'architecture, comment est sélectionné le terminal cible ?
     144La génération du code binaire est totalement indépendante de la génération du simulateur. La chaîne de compilation croisée GCC fournit quatre outils:
     145 * mipsel-unknown-elf-gcc : '''compilateur''', pour transformer un fichier source C (extension .c) en fichier assembleur pour MIPS32 (extension .s)
     146 * mipsel-unknown-elf-as : '''assembleur''', pour transformer un fichier assembleur (extension .s) en fichier binaire objet (extension .o)
     147 * mipsel-unknown-elf-ld : '''éditeur de lien''', pour résoudre les références croisées entre les fichiers objets (extension .o) et produire un fichier binaire exécutable ''bin.soft''
     148 * mipsel-unknown-elf-objdump : '''désassembleur''', pour générer un fichier texte lisible à partir d'un fichier binaire.
     149
     150Assurez-vous que votre PATH contient bien le chemin permettant d'accéder à ces 4 outils en exécutant la commande :
     151{{{
     152$ source /users/outil/soc/env_soclib.sh
     153}}}
     154
     155'''Question''' : Editez le fichier ''stdio.c''. Quels sont les appels système qui permettent d'accéder à un terminal TTY ? Lorsqu'il y a plusieurs terminaux dans l'architecture, comment est sélectionné le terminal cible ? (la réponse est dans le fichier ''syscalls.s'')
     156
     157'''Question''' : Editez le fichier ''reset.s''.Quelles sont les initialisations réalisées par le code de boot ? pouquoi ces initialisations ?
    145158
    146159On rappelle que l'instruction ''eret'' de sortie du GIET ou du code de boot effectue principalemnt deux actions :
     
    148161 1. Elle effectue un branchement à l'adresse contenue dans le registre protégé EPC (registre 14 du coprocesseur ''système'').
    149162
    150 '''Question''' : Quelles sont les initialisations réalisées par le code de boot ? pouquoi ces initialisations ?
    151 
    152 Le premier programme que vous allez exécuter se contente d'afficher le célèbre message ''Hello World! '' sur le terminal. Ouvrez le fichier ''soft/main.c''.
    153 
    154 '''Question''' : Que fait ce programme ? (on rappelle que la fonction ''tty_getc()'' est bloquante, et ne rend pas la main  tant qu'un caractère n'a pas été saisi au clavier).
     163'''Question''' : Ouvrez le fichier ''soft/main.c''. Que fait ce programme ? (on rappelle que la fonction ''tty_getc()'' est bloquante, et ne rend pas la main  tant qu'un caractère n'a pas été saisi au clavier).
    155164
    156165Lancez l'exécution du Makefile. Deux fichiers ''bin.soft'' et ''bin.soft.txt'' doivent  être créés dans le répertoire ''soft'' :