Changes between Version 19 and Version 20 of Archi-1-TP9


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

--

Legend:

Unmodified
Added
Removed
Modified
  • Archi-1-TP9

    v19 v20  
    1515La 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.
    1616
    17  [#hello_boot 1. hello_boot]:: \\
     17 [=#hello_boot 1. hello_boot]:: \\
    1818   Nous commençons par un petit programme de quelques lignes en assembleur, placé entièrement dans la région mémoire
    1919   du boot, qui réalise l'affichage du message "Hello World". C'est un tout tout petit programme, mais pour obtenir
     
    3535
    3636
    37  [#kinit_asm 2. kinit_asm]:: \\
     37 [=#kinit_asm 2. kinit_asm]:: \\
    3838   Dans le deuxième programme, nous restons en assembleur, mais nous avons deux fichiers source : (1) le fichier contenant
    3939   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.
     
    5353
    5454
    55  [#kinit_c 3. kinit_c]:: \\
     55 [=#kinit_c 3. kinit_c]:: \\
    5656   Dans ce troisième programme, nous faisons la même chose que pour le deuxième mais `kinit()` est désormais écrit en
    5757   langage C. Cela change peu de choses, sauf une chose importante `kinit()` est une fonction et donc il faut absolument
     
    7171}}}
    7272
    73  [#nttys 4. nttys]:: \\
     73 [=#nttys 4. nttys]:: \\
    7474   Le prototype de SoC que nous utilisons pour les TP est configurable. Il est possible par exemple de choisir le nombre
    7575   terminaux texte (TTY). Par défaut, il y en a un mais, nous pouvons en avoir jusqu'à 4. Nous allons modifier le code du
     
    9090}}}
    9191
    92  [#driver 5. driver]::
     92 [=#driver 5. driver]::
    9393   Dans l'étape 4, nous accédons au registre de périphérique directement dans la fonction `kinit()`, ce n'est pas très
    9494   simple. C'est pourquoi, nous allons ajouter un niveau d'abstraction qui représente un début de pilote de périphérique
     
    112112
    113113
    114 =  [=#hcpu_s] 1. Premier programme en assembleur dans la seule section de boot
     114=  [#hcpu_s 1. Premier programme en assembleur dans la seule section de boot]
    115115
    116116
     
    180180{{{#!comment ——————————————————————————————————————————————————————————————————————————————————————————————————
    181181}}}
    182 = [=#kinit_asm 2. Saut dans le code du noyau en assembleur]
     182= [#kinit_asm 2. Saut dans le code du noyau en assembleur]
    183183
    184184
     
    198198{{{#!comment ——————————————————————————————————————————————————————————————————————————————————————————————————
    199199}}}
    200 = [=#kinit_c 3. Saut dans la fonction kinit() du noyau en langage C]
     200= [#kinit_c 3. Saut dans la fonction kinit() du noyau en langage C]
    201201
    202202== Objectif de l'étape
     
    219219{{{#!comment ——————————————————————————————————————————————————————————————————————————————————————————————————
    220220}}}
    221 = [=#nttys 4.  Accès aux registres de contrôle des terminaux TTY]
     221= [#nttys 4.  Accès aux registres de contrôle des terminaux TTY]
    222222
    223223== Objectif de l'étape
     
    240240{{{#!comment ——————————————————————————————————————————————————————————————————————————————————————————————————
    241241}}}
    242 = [=#drivers 5. Premier petit pilote pour le terminal]
     242= [#drivers 5. Premier petit pilote pour le terminal]
    243243
    244244== Objectif de l'étape