Changes between Version 11 and Version 12 of SoclibCourseTp3


Ignore:
Timestamp:
Sep 13, 2009, 2:23:32 PM (15 years ago)
Author:
alain
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • SoclibCourseTp3

    v11 v12  
    6060
    6161Il existe deux méthode méthodes permettant de charger le code binaire dans les mémoires embarquées sur la puce:
    62  * Le code peut être stocké dans des mémoires mortes (ROM). le contenu de ces mémoires est défini lors de la fabrication
    63 de la puce, et n'est plus modifiable. Cette approche est évidemment très peu flexible, et elle n'est généralement utilisée
    64 que pour le code de boot.
    65  * Le code est stocké dans des mémoires inscriptibles (SRAM), qui sont chargées lors de la mise sous tension du système
    66 à partir d'un périphérique de stockage externe (cela peut être une ROM externe, une mémoire flash, ou un autre dispositif de
    67 stockage. On peut même imaginer qu'on utilise une liaison sans fil pour télécharger du code applicatif disponible
    68 sur un serveur distant.  Cette approache est généralement utilisée pour le code applicatif, mais également
    69 pour le système d'exploitation embarqué. Le code qui exécute ce chargement de code s'appelle un ''bootloader''.
     62 * Le code peut être stocké dans des mémoires mortes (ROM). Le contenu de ces mémoires est défini lors de la fabrication de la puce, et n'est plus modifiable. Cette approche est évidemment très peu flexible, et elle n'est généralement utilisée que pour le code de boot.
     63 * Le code est stocké dans des mémoires inscriptibles (SRAM), qui sont chargées lors de la mise sous tension du système à partir d'un périphérique de stockage externe (cela peut être une ROM externe, une mémoire flash, ou un autre dispositif de stockage. On peut même imaginer qu'on utilise une liaison sans fil pour télécharger du code applicatif disponible
     64sur un serveur distant.  Cette approche est utilisée pour le code applicatif, mais également pour le système d'exploitation embarqué. Le code qui exécute ce chargement de code s'appelle un ''bootloader''.
    7065
    7166La phase de chargement du code applicatif et du système d'exploitation est exécutée à chaque mise sous tension. Elle peut être
     
    176171les sept opérations suivantes :
    177172
    178 1. affichage du numéro de cycle et du numéro d'itération.
    179 1. génération aléatoire de deux variables OPA et OPB de type ''int''.
    180 1. écriture de OPA dans le registre ''r_opa'' du coprocesseur LCD.
    181 1. écriture de OPB dans le registre ''r_opb'' du coprocesseur LCD.
    182 1. écriture dans le pseudo-registre ''r_start'' du coprocesseur LCD, pour démarrer la simulation.
    183 1. lecture dans le registre ''r_res'' du coprocesseur LCD pour récupérer le résultat.
    184 1. affichage du numéro d'itération, du numéro de cycle, des valeurs des opérandes et du résultat sur le TTY.
     173 1. affichage du numéro de cycle et du numéro d'itération.
     174 1. génération aléatoire de deux variables OPA et OPB de type ''int''.
     175 1. écriture de OPA dans le registre ''r_opa'' du coprocesseur LCD.
     176 1. écriture de OPB dans le registre ''r_opb'' du coprocesseur LCD.
     177 1. écriture dans le pseudo-registre ''r_start'' du coprocesseur LCD, pour démarrer la simulation.
     178 1. lecture dans le registre ''r_res'' du coprocesseur LCD pour récupérer le résultat.
     179 1. affichage du numéro d'itération, du numéro de cycle, des valeurs des opérandes et du résultat sur le TTY.
    185180
    186181Pour afficher sur le terminal, on utilisera évidemment la fonction ''printf()''.