Changes between Version 80 and Version 81 of SoclibCourseTp3


Ignore:
Timestamp:
Oct 11, 2019, 1:53:27 PM (5 years ago)
Author:
alain
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • SoclibCourseTp3

    v80 v81  
    2424[[Image(soclib_tp3_archi.png)]]
    2525
    26  * '''xcache''' est un processeur Mips32 avec ses caches L1. On utilise le composant !VciXcacheWrapper, qui est un contrôleur de cache à interface VCI.
     26 * '''xcache''' est un processeur Mips32 avec ses caches L1. Le composant !VciXcacheWrapper, est un contrôleur de cache à interface VCI qui encapsule un coeur de processeur MIPS32.
    2727 * '''rom''' est une mémoire non inscriptible à interface VCI contenant le code de boot. On utilise le composant !VciSimpleRam.
    2828 * '''ram''' est une mémoire inscriptible à interface VCI contenant le code et les données. On utilise également un composant !VciSimpleRam.
     
    5252= 3 Logiciel embarqué =
    5353
    54 Les applications logicielles qui s'exécutent sur le (ou les) processeur(s) programmable(s) ont besoin d'accéder à des périphériques ou à des coprocesseurs matériels spécialisés. Ces applications sont souvent multi-tâches et splusieurs tâches s'exécutent en parallèle sur un même processeur en multiplexage temporel. Pour ces raisons, on a généralement besoin d'un système d'exploitation embarqué sur le MPSoC.
    55 
    56 Les composants de la bibliothèque SoCLib permettent d'exécuter des systèmes d'exploitation généralistes (tels que LINUX ou NetBSD), ou des systèmes d'exploitation spécialisés pour MPSoC (tels que MutekH ou ALMOS). Pour simplifier les choses, dans ce TP et les suivants, on se contentera d'un
    57 système d'exploitation minimal, appelé GIET (Gestionnaire d'Interruptions, Exceptions et Trappes).
     54Les applications logicielles qui s'exécutent sur le (ou les) processeur(s) programmable(s) ont besoin d'accéder à des périphériques ou à des coprocesseurs matériels spécialisés. Ces applications sont souvent multi-tâches et plusieurs tâches s'exécutent en parallèle sur un même processeur en multiplexage temporel. Pour ces raisons, on a généralement besoin d'un système d'exploitation embarqué sur le MPSoC.
     55
     56Les composants de la bibliothèque SoCLib permettent d'exécuter des systèmes d'exploitation généralistes (tels que LINUX ou NetBSD). Pour simplifier les choses, dans ce TP et les suivants, on se contentera d'un système d'exploitation minimal, appelé GIET (Gestionnaire d'Interruptions, Exceptions et Trappes).
    5857
    5958== 3.1 Gestionnaire d'Interruptions, exceptions et Trappes ==
     
    6665Les deux principales limitations du GIET, qui le différencient d'un ''vrai'' système d'exploitation, sont l'absence de support pour la mémoire virtuelle, et l'absence de support pour la création dynamique de tâches.
    6766
    68 Le code du GIET est séparé en deux parties: Les fichiers contenant le code qui s'exécute en mode ''superviseur'' est contenu dans le répertoire '''sys''', tandis que les fichiers contenant le code qui s'exécute en mode ''utilisateur'' est contenu dans le répertoire '''app'''.
     67Le code est donc séparé en deux parties : Les fichiers contenant le code système qui s'exécute en mode ''superviseur'' est contenu dans le répertoire '''sys''', tandis que les fichiers contenant le code applicatif qui s'exécute en mode ''utilisateur'' est contenu dans le répertoire '''app'''.
    6968
    7069 * Le fichier '''sys_handler.c''' est écrit en C. Il est dans le répertoire '''sys''', et contient le code du gestionnaire d'appels systèmes, chargé d'appeler la fonction système correspondant au service demandé.
     
    8382}}}
    8483
    85 Vous pouvez vous faire une copie privée de ces fichiers pourpouvoir les consulter plus facilement, mais il est fortement déconseillé d'utiliser
    86 cette copie locale pour générer le code binaire, le code du GIET peut évoluer, et il faut toujours utiliser la version de référence.
     84Vous pouvez vous faire une copie privée de ces fichiers pourpouvoir les consulter plus facilement, mais il est fortement déconseillé d'utiliser cette copie locale pour générer le code binaire, le code du GIET peut évoluer, et il faut toujours utiliser la version de référence.
    8785
    8886== 3.2 Génération du code ==
    8987
    90 Puisque le GIET et  l'application logicielle sont tous deux écrits écrits en langage C, il faut utiliser un cross-compilateur C spécifique au processeur MIPS32 pour générer d'une part le code applicatif, et d'autre part le code du système d'exploitation embarqué.
     88Puisque le système et  les applications sont écrits écrits en langage C, il faut utiliser un cross-compilateur C spécifique au processeur MIPS32 pour générer d'une part le code applicatif, et d'autre part le code du système d'exploitation embarqué.
    9189
    9290Le résultat de la compilation consiste en deux fichiers binaire au format ELF, '''sys.bin''' et '''app.bin''', qui devront être chargés dans les mémoires embarquées du MPSoC.