É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