Changes between Version 13 and Version 14 of Archi-1-TP9


Ignore:
Timestamp:
Nov 15, 2020, 3:03:50 PM (4 years ago)
Author:
franck
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Archi-1-TP9

    v13 v14  
    1 ||[wiki:description_dernieres_seances retour au descriptif des séances "système"]||
    21[[PageOutline]]
    32{{{#!html
     
    1110
    1211La première séance est découpé en 5 étapes :
    13 1. Un petit programme de quelques lignes en assembleur, placé entièrement dans la région mémoire du boot,
    14    qui réalise l'affichage du message "Hello World". C'est un tout tout petit programme, mais pour obtenir
     12
     13 1) [#hello_boot hello_boot]::
     14   Nous commençons par un petit programme de quelques lignes en assembleur, placé entièrement dans la région mémoire
     15   du boot, qui réalise l'affichage du message "Hello World". C'est un tout tout petit programme, mais pour obtenir
    1516   l'exécutable, vous devrez utiliser tous les outils de la chaîne de cross-compilation MIPS et
    1617   pour l'exécuter vous devrez exécuter le simulateur du prototype. C'est simple, mais c'est nouveau pour
    1718   beaucoup d'entre vous.
    18 2.
     19
     20 2) [#kinit_asm kinit_asm]::
     21   Dans le deuxième programme, nous restons en assembleur, mais nous avons deux fichiers source : (1) le fichier contenant
     22   le code de boot et (2) le fichier contenant le code du noyau. Ici, le code du noyau c'est juste une fonction `kinit()`.
     23   Cette étape permet de voir comment saute d'un fichier à l'autre. Il utilise aussi une version plus complète du fichier
     24   `ldscript` du kernel.
     25
     26 3) [#kinit_c kinit_c]::
     27   Dans ce troisième programme, nous faisons la même chose que pour le deuxième mais `kinit()` est désormais écrit en
     28   langage C. Cela change peut de chose, sauf une chose importante `kinit()` est une fonction et donc il faut absolument
     29   une pile d'exécution.
     30
     31 4)
    1932
    2033{{{#!comment ——————————————————————————————————————————————————————————————————————————————————————————————————
    2134}}}
    22 1. Premier programme en assembleur dans la seule section de boot
     35[=#hcpu_s 1. Premier programme en assembleur dans la seule section de boot]
    2336
    2437== Codes
     
    7083{{{#!comment ——————————————————————————————————————————————————————————————————————————————————————————————————
    7184}}}
    72 = 2. Saut dans le code du noyau en assembleur
     85= [=#kinit_asm 2. Saut dans le code du noyau en assembleur]
    7386
    7487
     
    95108{{{#!comment ——————————————————————————————————————————————————————————————————————————————————————————————————
    96109}}}
    97 = 3. Saut dans la fonction kinit() du noyau en langage C
     110= [=#kinit_c 3. Saut dans la fonction kinit() du noyau en langage C]
    98111
    99112== Objectif de l'étape
     
    116129{{{#!comment ——————————————————————————————————————————————————————————————————————————————————————————————————
    117130}}}
    118 = 4.  Accès aux registres de contrôle des terminaux TTY
     131= [=#nttys 4.  Accès aux registres de contrôle des terminaux TTY]
    119132
    120133== Objectif de l'étape
     
    137150{{{#!comment ——————————————————————————————————————————————————————————————————————————————————————————————————
    138151}}}
    139 = 3. Fonction d'initialisation en C
     152= [=#drivers 5. Premier petit pilote pour le terminal]
    140153
    141154== Objectif de l'étape