Énoncé du laboratoire - Bienvenue au département d`informatique
Transcription
Énoncé du laboratoire - Bienvenue au département d`informatique
UNIVERSITÉ DE SHERBROOKE DÉPARTEMENT D’INFORMATIQUE Laboratoire # 7 IFT 209 Programmation système Laboratoire du jeudi 19 novembre 2015 à 8 h 30. Ce laboratoire a lieu au local D4-1017 en utilisant le système d’exploitation Windows Server 2003 de la machine virtuelle IFT209 qui se trouve dans le répertoire VM environnements Virtuels (icône dans le coin supérieur droit sous Windows 7 Enterprise). Pour entrer Ctrl-Alt-Del lors de l’ouverture d’une session dans Windows Server 2003, cliquez sur le menu Virtual Machine, puis sur le sous-menu Send Ctrl+Alt+Del. Le nom de l’utilisateur est Administrator et il n’y a pas de mot de passe. Pour quitter proprement Windows Server 2003, il faut taper lors du Shut Down au moins un caractère dans la boı̂te de dialogue Comment. Exceptionnellement, ce laboratoire doit être fait en équipe de trois personnes. Noms : La période de deux heures du laboratoire permet aux étudiantes et étudiants de compléter les numéros 2 et 3, tout en ayant des indications de l’enseignant afin de corriger les réponses erronées ou d’obtenir des explications additionnelles. Cette aide est conditionnelle au respect des avertissements suivants. Vous devez avoir complété la mise en place du répertoire et des fichiers (numéro 1 à la page 5) et la partie expérimentale avec la carte DEV-00268 (ARM), c’est-à-dire que vous devez avoir réalisé l’ensemble des parties obligatoires des pages 2 à 4. 1 Facultatif : installation des logiciels sur votre propre ordinateur et à vos propres risques. 1. Installation de l’environnement de développement Programmers Notepad 2 sous Windows Server 2003 – Récupérer le fichier WinARM-20060606.zip du site web (section ARM) – Créer le répertoire WinARM dans C: – Extraire les fichiers de WinARM-20060606.zip dans le répertoire WinARM – Ajouter à la variable d’environnement PATH, C:\WinARM\bin;C:\WinARM\utils\bin – menu Control Panel et sous-menu System – onglet Advanced et bouton Environment Variables – sous-fenêtre System Variables Le nom de l’exécutable est pn.exe dans C:\WinARM\pn. 2. Installation du terminal virtuel Tera Term Pro Web sous Windows Server 2003 – Récupérer le fichier ttpro313.zip du site web (section ARM) – Créer le répertoire TeraTerm dans C: – Extraire les fichiers de ttpro313.zip dans le répertoire TeraTerm Le nom de l’exécutable est ttermpro.exe dans C:\TeraTerm 3. Installation du pilote USB-Serial sous Windows Server 2003 – Brancher la carte DEV-00268 à votre ordinateur via le port USB – Le système Windows devrait faire une recherche automatique du pilote USB-Serial et l’installer Obligatoire (à faire une seule fois) : Obtenir le COM x Dans Windows Server 2003, – Control Panel sous-menu System – onglet Hardware – bouton Device Manager – entrée Ports (COM & LPT), Le USB Serial Port devrait être assigné à COM3 ou COM4. 2 Obligatoire : Remplacement du fichier main.c du répertoire \WinARM\examples\lpc2106_uart0 par le fichier de même nom du site web du cours avec Copy dans Windows 7 Enterprise, puis Paste dans Windows Server 2003. Obligatoire : Compilation du programme du projet lpc2106 uart0 dans Programmers Notepad 2 (à partir de l’icône sur le bureau ou du fichier pn.exe dans le répertoire C:\WinARM\pn) – Ouverture d’un projet – barre de menus et menu File – menu File et sous-menu Open Project(s)... Choisir le projet lpc uart.pnproj dans le répertoire \WinARM\examples\lpc2106_uart0 – Nettoyage – barre de menus et menu Tools – menu Tools et sous-menu Make Clean – Compilation (après chaque modification du programme) – barre de menus et menu Tools – menu Tools et sous-menu Make All Obligatoire : Chargement du programme dans Programmers Notepad 2 – Ouverture du fichier makefile – sous-fenêtre Projects – double-clic sur makefile – modification du fichier makefile si nécessaire, ligne 149 pour COM x et ligne 150 pour la vitesse en bauds par rapport à celle dans le programme main.c à la ligne 8 – Chargement – commutateur dip 1 vers ICSP sur la carte DEV-00268 – bouton reset sur la carte DEV-00268 – barre de menus et menu Tools – menu Tools et sous-menu Make Program 3 Obligatoire : Exécution du programme – Ouverture d’un terminal virtuel – démarrage de Tera Term (à partir de l’icône sur le bureau ou du fichier ttermpro.exe dans le répertoire C:\TeraTerm) – dialogue Tera Term New Connection – bouton Serial et sous-dialogue Port pour COM x – barre de menus et menu Setup – menu Setup et sous-menu Serial port... – positionnement des options selon celles du programme (Baud rate : , Data : 8 bits, Parity : none, Stop : 1 bit et Flow control : none) – Exécution – commutateur dip 1 vers RUN sur la carte DEV-00268 – bouton reset sur la carte DEV-00268 – barre de menus de Tera Term et menu File – menu File et sous-menu Disconnect Attention le port COM3 ou COM4 ne peut pas être utilisé simultanément par le terminal virtuel et l’environnement de développement. Obligatoire : Exécution du programme avec l’option Local echo du terminal virtuel Tera Term – Positionnez l’option Local echo dans Tera Term – barre de menus et menu Setup – menu Setup et sous-menu Terminal... – case à cocher Local echo – Exécution – commutateur dip vers RUN sur la carte DEV-00268 – bouton reset sur la carte DEV-00268 – barre de menus de Tera Term et menu File – menu File et sous-menu Disconnect Que pouvez-vous conclure par rapport à l’option Local echo (1 point) ? Le traitement fait par l’option Local echo peut être réalisé par programmation au niveau du pilote (ou du driver en anglais). Ainsi, si cette option n’est pas inhibée dans le terminal virtuel, alors tout caractère tapé au clavier sera affiché deux fois : tout d’abord par le terminal (de façon matérielle) et ensuite par le pilote d’entrée/sortie du port RS-232 (de façon logicielle). Pour les 4 questions suivantes, l’option Local echo est inhibée et le pilote d’entrée/sortie du port RS-232 doit faire l’écho tout en traitant adéquatement l’effacement d’un caractère à l’aide du caractère backspace. 1. Mise en place du répertoire et des fichiers pour cette partie du laboratoire Créez une copie du répertoire lpc2106 uart0 et travaillez à partir de votre copie. Supposons que le pilote d’entrée/sortie du port RS-232 par interrogation de bits d’état est celui qui correspond à l’ensemble des fonctions C de ce répertoire. 2. (4 points) Première modification du pilote d’entrée/sortie du port RS-232 Vous devez tout d’abord modifier le pilote d’entrée/sortie du port série RS-232 de façon à ce qu’il fasse l’écho tout en accumulant dans un tampon l’ensemble des caractères entrés au clavier du terminal par l’utilisateur, et cela jusqu’à ce que ce dernier tape un caractère particulier (à votre choix, Carriage Return par exemple). Un fois le délimiteur détecté par le pilote, ce dernier doit afficher sur l’écran du terminal virtuel toute la chaı̂ne de caractères entrée par l’utilisateur. Indiquez à quels endroits dans le code du pilote d’entrée/sortie vous avez effectué vos modifications. Justifiez votre choix (1 point). Faites aussi une démonstration de votre programme au professeur ou ou chargé d’exercices (3 points). 3. (5 points) Deuxième modification du pilote d’entrée/sortie du port RS-232 En considérant le scénario décrit dans la partie précédente, il y aura donc lecture de Back Space et de caractères. Se pose alors le problème d’éliminer les caractères effacées par les Back Space. Par quelle séquence de caractères le caractère Back Space doit être remplacé pour produire l’effet désiré lors de l’écho de ce caractère (1 point) ? 5 Quel est le traitement à effectuer pour afficher la chaı̂ne de caractères appropriée lorsque l’utilisateur tape sur le clavier la touche qui indique la fin de la chaı̂ne (Carriage Return par exemple) (1 point) ? Modifiez le pilote d’entrée/sortie pour vérifier vos réponses. Faites aussi une démonstration de votre programme au professeur ou au chargé d’exercices (3 points). 6