This is an old revision of the document!
Cette partie contient l’ensemble des informations nécessaires à l’installation du logiciel de développement AVR avec le système d’exploitation Windows.
Pour réaliser cette installation vous devez disposer des logiciels suivant disponibles, en téléchargement, sur la page internet des fournisseurs ou sur le CD de support fournit dans le HomeLab Kit.
1. Studio AVR
Le Studio AVR 4 IDE (Integrated Development Environment) est le logiciel de base pour l’écriture des codes source, la compilation et le transfert du programme vers le contrôleur. Le Studio AVR peut être téléchargé depuis la page du site de la société Atmel.
2. WinAVR
WinAVR est un compilateur GNU-GCC pour microcontrôleurs AVR. Il s’agit d’un logiciel libre disponible en téléchargement sur la page internet de la société Sourceforge. Au cours de l’installation WinAVR propose un nom de dossier par défaut contenant un long numéro de version. Nous vous suggérons de remplacer ce nom de dossier par celui-ci :
C:\WinAVR
3. Librairie HomeLab
La librairie HomeLab est un ensemble de fonctions conçues pour le HomeLab Kit et les contrôleurs AVR. En utilisant cette librairie, la programmation devient bien plus facile et efficace. La dernière version de la librairie est disponible en téléchargement sur la page internet de HomeLab. Cette librairie doit être installée dans le même dossier d’installation du logiciel WinAVR.
4. Driver pour le port COM virtuel
Un driver est nécessaire pour connecter le programmeur USB JTAG-ICE avec votre ordinateur. Le driver doit être installé avant de connecter le programmeur. Le nom du fichier du driver est “CDM x.xx.xx.exe”, où les “x” correspondent au numéro de version. Après l’installation du driver vous pouvez connecter le programmeur JTAG-ICE grâce au port USB et laisser Windows détecter automatiquement le matériel. Vous devez voir la notification dans la barre des tâches Windows.
Selon le nombre de port virtuel défini précédemment, Windows assigne le numéro de port suivant au nouvel appareil. Un nouveau nom de port COM (numéro de série) est généré quand le matériel est connecté à un autre port USB du même ordinateur. Certaines versions du Studio AVR Studio ne peuvent pas utiliser le programmeur si le numéro du port COM excède le nombre 10 et le nombre 4 est réservé au debugger. Pour remédier à cette situation vous pouvez modifier le numéro du port assigné dans le Device manager et le choisir parmi la liste COM0…COM4. Cliquer ici pour voir la procédure complète .
Pour écrire un programme pour le contrôleur il est nécessaire de créer un espace projet. Le projet contient habituellement différents fichiers tels que les codes source, les fichiers en-tête, les fichiers des programmes compilés, etc… Il est fortement conseillé de créer un nouveau dossier pour chaque projet (qui est proposé par New Project Wizard).
Les étapes suivantes doivent être réalisées lors de la création d’un nouveau projet avec l’aide de l’assistant
1. Ouvrir le studio AVR et cliquer sur New Project. Si la boite de dialogue ne s’ouvre pas automatiquement sélectionner Project - New project dans la barre de menu. Cliquer sur Next.
2. La boite de dialogue suivante concerne le compilateur et les réglages par défaut. Sélectionner le compilateur AVR GCC. Sur la droite, entrer le nom du projet et le nom du fichier source principal. Le nom du fichier source principal doit avoir l’extension ”.c”. Deux boites de dialogue doivent être vérifiées afin de créer le nouveau dossier et le fichier initial. Vous devez aussi définir le dossier dans lequel le projet va être créé. Une fois que les paramètres sont corrects appuyer sur Next.
NB! Si AVR GCC est manquant dans la liste du compilateur, c’est qu’il n’est pas correctement installé. Dans ce cas le logiciel WinAVR doit être réinstallé avant de commencer d’écrire le code source en C.
3. Dans la boite de dialogue suivante sélectionnez la plateforme du debugger ainsi que le microcontrôleur. Le HomeLab Kit utilise la plateforme du debugger JTAG ICE et le microcontrôleur ATmega128. Une fois que les paramètres sont corrects appuyer sur Finish.
4. L’espace du projet est maintenant créé et une nouvelle fenêtre s’ouvre qui permet de commencer à écrire le code source du programme.
5. Avant la première compilation il est nécessaire de régler certains paramètres du projet. Les paramètres importants sont la fréquence du contrôleur ainsi que la méthode d’optimisation. Le contrôleur HomeLab fonctionne à une fréquence de 14,7456 MHz (14745600 Hz). La fréquence peut être réglée dans les propriétés du projet en Hz (et non en MHz) : Project → Configuration Options → General. La méthode d’optimisation doit rester -Os, s’il n’y a pas nécessité d’utiliser une autre méthode.
6. Afin d’utiliser les fonctions de la librairie HomeLab le logiciel doit être correctement installé. A chaque création d’un nouveau projet il est nécessaire d’ajouter la librairie à la liste des objets liés. Pour ce faire, aller dans Project → Configuration Options → Libraries et add object puis choisir “libhomelab.a”.
S’il manque l’objet libhomelab.a dans la liste à gauche c’est que la librairie n’est pas correctement installée. Il est nécessaire de la réinstaller.
Si l’environnement de développement vient juste d’être réglé il est nécessaire de le tester afin d’être certain qu’il est correct. La manière la plus simple est d’écrire un petit programme de test et de le transférer vers le contrôleur.
1. Connecter le programmateur avec le panneau ATmega128. Etre certain que le programmateur est correctement relié au connecteur JTAG (le câble est connecté directement au panneau du contrôleur – voir l’image suivante). Connecter l’alimentation du panneau du contrôleur (une petite LED verte doit s’allumer si la source d’alimentation d’énergie est connectée).
Copier le simple code source en C :
#include <avr/io.h> #include <homelab/delay.h> int main(void) { // pin PB7 to output DDRB = 0x80; // endless cycle while (true) { // pin PB7 invertion PORTB ^= 0x80; hw_delay_ms(500); } }
Compiler le projet avec la commande Build (F7 au clavier). Etre certain que la compilation a réussi. Pour cela le message suivant doit apparaître à l’écran :
Build succeeded with 0 Warnings...
2. Ouvrir la fenêtre du contrôleur avec Tools → Program AVR → Auto Connect. Etre certain que le tab Program est ouvert.
Si la fenêtre décrite ne s’ouvre pas et le message Connection Failed apparaît à l’écran c’est que la connexion avec le panneau ou le programmeur n’est pas correcte. Dans un premier temps il faut vérifier que le microcontrôleur est correctement alimenté (La LED verte est allumée) et que le programmeur est correctement relié au connecteur JTAG. Une fois ces vérifications faites, vérifier le numéro du port COM assigné par Windows. S’il est supérieur à 9, le studio AVR ne pourra pas reconnaître le programmeur. Il faut alors suivre les instructions au début de ce document afin de définir un numéro de port compris entre 0 et 4.
3. Dans la fenêtre du programmeur insérer dans la section Flash dans le champ Input HEX File l’endroit où est stocké le fichier compilé en appuyant sur le bouton ”…”. Le programme compilé se trouve habituellement dans le dossier du projet puis dans le dossier default. Le fichier à le même nom que le projet avec l’extension ”.hex”, par exemple “labor1.hex”. Après avoir sélectionné le fichier correct cliquer sur le bouton Program qui transfère le programme au contrôleur. Si tout se déroule correctement le message suivant doit être visible en bas de la fenêtre :
OK Reading FLASH input file.. OK Setting device parameters for jtag programming ..OK Entering programming mode.. OK Erasing device.. OK Programming FLASH .. OK Reading FLASH .. OK FLASH contents is equal to file.. OK Leaving programming mode.. OK
D’après le programme la LED embarquée (PB7) doit commencer à clignoter. Si cela fonctionne cela signifie que l’environnement de programmation est correctement configuré et que vous avez réalisé avec succès votre premier programme. Félicitations !
Programmi silumiseks (inglise keeles debugging) nimetatakse vigade otsimist programmist. Selleks on loodud eraldi vahendid - silurid (inglise keeles debugger), mis võimaldavad programmi täita samm-sammult, peatades seda soovitud kohtades. Selline programmi täitmine võimaldab igas programmi faasis kontrollida muutujate väärtusi, registrite sisusid ja programmi täitmise järjekorda. Eriti oluline on silumise võimaluse kasutamine keerukamate programmide juures, kus vea põhjust on tihti keeruline otsida. Mikrokontrollerite puhul on veel oluline, et tarkvara samm-sammult täitmine toimub reaalselt kontrolleris ja võimaldab nii lisaks registrite väärtuste vaatamisele näha ka reaalsete väljundite muutumist. Siluri kasutamiseks on eelkõige vaja kahte tingimust: kasutatav mikrokontroller peab silumist toetama ja olemas peab olema ka vajalik riistvara - silumist toetav JTAG programmaator. Odavamad programmaatorid, mis kasutavad ISP programmeerimise liidest, võimaldavad laadida kontrollerisse küll kompileeritud programmi, kuid ei võimalda silumist.
Programmi käivitamiseks siluri režiimis AVR Studio-ga tuleks see esmalt kompileerida nupuga Build (kiirklahv F7) ja käivitada kompileeritud programm käsuga Run (kiirklahv F5). Programmi lähtekoodi võib enne seda soovitud kohtadele lisada katkestuspunkte (inglise keeles break point) (kiirklahv F9). Kui programmi täitmine jõuab katkestuspunktini, peatatakse programmi töö, võimaldades nii uurida mikrokontrolleri olekut sellesse punkti jõudmisel. Programmi täitmist võib jätkata jällegi käsuga Run või siis kasutada käskhaaval täitmist käsuga Step Into (kiirklahv F11).
Mõnikord tekib vajadus AVR programmis kasutada ujukoma-arve. Nendega arvutamiseks ja nende esitamiseks printf-tüüpi funktsioonidega tuleb projekti seadistustes teha järgmised muudatused:
1. Avada projekti seaded menüüst Project → Configuration Options. Seadete kaardil Libraries tuleb sinna, kuhu on lisatud kodulabori teegi objekt libhomelab.a, järgi lisada ka libprintf_flt.a ja libm.a.
2. Seejärel tuleb avada Custom Options kaart ja valida [All files] sektsioon. Parempoolsesse kasti lisada read “-lprintf_flt” ja “-lm”. [Linker Options] sektsiooni lisada rida “-uvfprintf”.
3. Vajutada OK ja sulgeda seadete aken.