Changes between Version 39 and Version 40 of SoclibCourseTp4
- Timestamp:
- Oct 14, 2009, 1:14:00 AM (15 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
SoclibCourseTp4
v39 v40 143 143 144 144 On obtient ainsi une architecture possédant un initiateur VCI et 6 cibles VCI, conformément au schéma ci-dessous. La line d'interruption en provenance du timer 145 sera connectée au port '''p_irq_in[0]'' du composant ICU et la ligne d'interruption en provenance du contrôleur TTY sera connectée au port '''p_irq_in[1]'''.145 sera connectée au port '''p_irq_in[0]''' du composant ICU et la ligne d'interruption en provenance du contrôleur TTY sera connectée au port '''p_irq_in[1]'''. 146 146 147 147 [[Image(soclib_tp4_cluster.png)]] … … 176 176 utilisateur et un périphérique: 177 177 * le fichier '''isr.s''' contient le codes des routines d'interruption associées aux différentes requêtes d'interruption générées par les périphériques. Il y a une routine par ligne d'interruption. Ce code est écrit en assembleur, et s'exécute en mode ''kernel''. 178 * Le fichier '''userio.c''' contient les fonctions C permettant à un programme utilisateur de communiquer par interruption (en lecture ou en écriture) avec les périphériques. Pour l'instant seul les fonctions d'accès au TTY sont 179 disponibles. 178 * Le fichier '''userio.c''' contient les fonctions C permettant à un programme utilisateur de communiquer par interruption (en lecture ou en écriture) avec les périphériques. Pour l'instant seul les fonctions d'accès au TTY sont disponibles. 180 179 * Le ''code de boot'' défini dans le fichier '''reset.s''' doit maintenant initialiser le vecteur d'interruption 181 180 (c'est à dire le tableau indexé par le numéro d'interruption, et contenant les adresses des différentes ISR). … … 183 182 Modifiez le fichier reset.s pour initialiser les routines d'interruption correspondant au à la ligne IRQ[0] du composant '''vci_timer''', et à la ligne IRQ[0] du contrôleur TTY (lecture d'un caractère). 184 183 185 Modifiez le fichier '''main.c''' du TP3 pour que celui-ci la boucle infinie qui affiche le message "hello World!", 186 en utilisant la fonction utilisateur ''user_getc()'' au lieu de l'appel système ''tty_getc()''. 184 Modifiez le fichier '''main.c''' du TP3 (fourni dans l'annexe) pour qu'il utilise la fonction utilisateur ''user_getc()'' au lieu de l'appel système ''tty_getc()''. 187 185 Vous n'oublierez pas d'introduire au début du programme main() l'appel système qui permet d'activer les 188 186 entrées d'interruption IRQ_IN[0] et IRQ_IN[1] du concentrateur d'interruption '''vci_icu'''.