Changes between Version 16 and Version 17 of Archi-1-TP9


Ignore:
Timestamp:
Nov 15, 2020, 7:25:06 PM (4 years ago)
Author:
franck
Comment:

ve

Legend:

Unmodified
Added
Removed
Modified
  • Archi-1-TP9

    v16 v17  
    1010
    1111
    12 La séance est découpé en 5 étapes. Dans cette présentation, pour chaque étape, nous donnons une brève description, suivie d'une liste des objectifs principaux et d'une liste des fichiers présents.
     12La séance est découpé en 5 étapes. Dans cette présentation, pour chaque étape, nous donnons une brève description, suivie d'une liste des objectifs principaux et d'une liste des fichiers présents. Un bref commentaire est ajouté pour les fichiers.
    1313
    1414 [#hello_boot 1. hello_boot]:: \\
     
    2424 
    2525 **Fichiers**
     26{{{
     271_hello_boot
     28├── hcpu.S       : code dépendant du cpu matériel en assembleur
     29├── kernel.ld    : ldscript décrivant l'espace d'adressage pour l'éditeur de lien
     30└── Makefile     : description des actions possibles sur le code : compilation, exécution, nettoyage, etc.
     31}}}
     32
    2633
    2734 [#kinit_asm 2. kinit_asm]:: \\
    2835   Dans le deuxième programme, nous restons en assembleur, mais nous avons deux fichiers source : (1) le fichier contenant
    29    le code de boot et (2) le fichier contenant le code du noyau. Ici, le code du noyau c'est juste une fonction `kinit()`.
    30    Cette étape permet de voir comment saute d'un fichier à l'autre. Il utilise aussi une version plus complète du fichier
    31    `ldscript` du kernel.
     36   le code de boot et (2) le fichier contenant le code du noyau. Ici, le code du noyau c'est juste une ''fonction'' `kinit()`. Ce n'est pas vraiment une fonction car on n'utilise pas la pile.
    3237   \\\\
    3338   **Objectifs**
    34    - S
     39   - Savoir comment le programme de boot fait pour sauter à l'adresse de la routine kinit.
     40   - Savoir un fichier kernel.ld un peu plus complet.
     41 
     42 **Fichiers**
     43{{{
     442_init_asm/
     45├── hcpu.S       : code dépendant du cpu matériel en assembleur
     46├── kernel.ld    : ldscript décrivant l'espace d'adressage pour l'éditeur de lien
     47├── kinit.S      : fichier contenant le code de démarrage du noyau, ici c'est une routine kinit.
     48└── Makefile     : description des actions possibles sur le code : compilation, exécution, nettoyage, etc.
     49}}}
     50
    3551
    3652 [#kinit_c 3. kinit_c]:: \\
    3753   Dans ce troisième programme, nous faisons la même chose que pour le deuxième mais `kinit()` est désormais écrit en
    38    langage C. Cela change peut de chose, sauf une chose importante `kinit()` est une fonction et donc il faut absolument
     54   langage C. Cela change peu de choses, sauf une chose importante `kinit()` est une fonction et donc il faut absolument
    3955   une pile d'exécution.
    4056   \\\\
    4157   **Objectifs**
    42    - S
     58   - Savoir comment et où déclarer la pile d'exécution du noyau.
     59   - Savoir comment afficher un caractère sur un terminal depuis un programme C.
     60 
     61 **Fichiers**
     62{{{
     633_init_c/
     64├── hcpu.S       : code dépendant du cpu matériel en assembleur
     65├── kernel.ld    : ldscript décrivant l'espace d'adressage pour l'éditeur de lien
     66├── kinit.c      : fichier en C contenant le code de démarrage du noyau, ici c'est la fonction kinit().
     67└── Makefile     : description des actions possibles sur le code : compilation, exécution, nettoyage, etc.
     68}}}
    4369
    4470 [#nttys 4. nttys]:: \\
     
    4874   \\\\
    4975   **Objectifs**
    50    - S
     76   - Savoir comment compiler un programme C avec du code conditionnel.
     77   - Comment décrire en C l'ensemble des registre d'un contrôleur de périphérique et y accéder.
     78 
     79 **Fichiers**
     80{{{
     814_nttys/
     82├── hcpu.S       : code dépendant du cpu matériel en assembleur
     83├── kernel.ld    : ldscript décrivant l'espace d'adressage pour l'éditeur de lien
     84├── kinit.c      : fichier en C contenant le code de démarrage du noyau, ici c'est la fonction kinit().
     85└── Makefile     : description des actions possibles sur le code : compilation, exécution, nettoyage, etc.
     86}}}
    5187
    5288 [#driver 5. driver]::
     89   
     90 **Fichiers**
     91{{{
     92}}}
    5393   
    5494