Utiliser WinAVR et MFile et AVRDUDE

Transcription

Utiliser WinAVR et MFile et AVRDUDE
Utiliser WinAVR et MFile et AVRDUDE
Extrait du PoBot
http://www.pobot.org
Utiliser WinAVR et MFile et
AVRDUDE
- Programmation - Apprendre - Les micro-contrôleurs - Trucs et astuces -
Date de mise en ligne : mardi 16 février 2010
PoBot
Copyright © PoBot
Page 1/6
Utiliser WinAVR et MFile et AVRDUDE
Sommaire
• Liste des logiciels
• Première compilation
• Programmation du microcontrôle
Pour programmer un microcontrôleur Atmel AVR, on doit écrire du code source sur son ordinateur et le compiler pour
le transformer en un programme pour AVR, puis le transférer dans le micro-contrôleur.
Toutes ces étapes nécessitent une suite de logiciels différents (un éditeur de texte, un compilateur spécifique selon le
langage choisi, et un logiciel de transfert, pour simplifier) plus tous les outils de vérification de code, d'optimisation de
taille, etc...
C'est ce que permet WinAVR, une suite d'outils pour AVR basé sur des outils libres (GNU) notamment le
cross-compilateur avr-gcc. Mais d'habitude, on installe tout et on se lance directement dans la programmation. Voyons
cette fois tout ce qu'il y a dans WinAVR.
Liste des logiciels
Je vais présenter ci-dessous une traduction du manuel utilisateur de la version 2010-01-10 de WinAVR, disponible
une fois installé dans le fichier "WinAVR-20100110/WinAVR-user-manual.html".
Outil
Description
AVR GNU Binutils 2.19
outils de compilation pour AVR
AVR GNU Compiler Collection (GCC) 4.3.3
compilateur libre pour le langage C et C++ spécialisé pour AVR
avr-libc 1.6.7cvs
bibliothèques de fonctions classiques, adaptées pour AVR
AVRDUDE 5.8cvs
logiciel de programmation (transfert) pour AVR
AVR GNU Debugger (GDB) / Insight 6.8
débogueur en ligne de commande / interface graphique
AVaRICE 2.9
programme de debug utilisant le protocole JTAG
SimulAVR 0.9cvs
simulation des AVR pour utilisation avec GDB
AVR32 GNU Binutils 2.19
idem pour AVR32 (version 32 bits)
AVR32 GNU Compiler Collection (GCC) 4.3.2
idem pour AVR32
Newlib (for AVR32) 1.16.0
idem pour AVR32
AVR32 GNU Debugger (GDB) / Insight 6.7.1
idem pour AVR32
Splint 3.1.2
??
SRecord 1.47
outils de manipulation des mémoire EPROM
MFile
générateur de makefile pour AVR
Copyright © PoBot
Page 2/6
Utiliser WinAVR et MFile et AVRDUDE
Programmers Notepad 2.0.8.718
logiciel de développement / édition de code source intégrant les outils AVR
LibUSB 0.1.12.1
bibliothèque de gestion de l'USB pour AVRDUDE et AVaRICE
Cygwin DLLs
bibliothèques du projet Cygwin (unix sous windows) comme make et bash
Tofrodos 1.6
conversion des fins de ligne dans les fichiers en ligne de commande
Première compilation
Une fois installé, et si vous avez choisi les options par défaut (comme les variables système a.k.a. PATH), vous êtes
capable de programmer un microcontrôleur. Il suffirait d'ouvrir une fenêtre de ligne de commande et de taper le nom
des programmes (faites un essai avec "avr-gcc —version" qui vous répondra correctement).
Mais si on débute, alors il est préférable d'utiliser des outils graphiques, à commencer par l'éditeur Programmers
Notepad. Il est accessible dans le menu Démarrer si vous avez laissé les options d'installation par défaut.
Une fois ouvert, vous devez créer un nouveau projet
Copyright © PoBot
Page 3/6
Utiliser WinAVR et MFile et AVRDUDE
Puis y ajouter de nouveaux fichiers. Deux sont nécessaires : un "Makefile" qui permet de décrire le projet et la
compilation nécessaire : nous allons pour cela utiliser un petit outil faisant parti de WinAVR : Mfile.
Lancez MFile depuis le menu des programmes installés (là où vous avez trouvé Programmers Notepad dans le menu
Démarrer / Programmes). Une fenêtre s'ouvre avec un éditeur de texte et deux menus. Le second menu propose de
modifier les options : choix du MCU (microcontrôleur), options de compilation, nom du fichier.
Pour commencer il faut modifier :
le MCU (ATtiny, ATmega selon votre matériel disponible)
le nom du programme (main par défaut)
A noter qu'il n'y a pas de menu pour l'horloge, mais il faut bien penser à modifier la valeur (en Hz, 8000000 pour 8
MHz).
Enregistrez le fichier Makefile dans le répertoire créé pour le nouveau projet de Programmers Notepad, et créez dans
ce même répertoire un fichier portant le même nom que celui spécifié dans MFile et l'extension .c (exemple :
servoclock.c ou main.c si vous avez gardé la valeur par défaut).
Copyright © PoBot
Page 4/6
Utiliser WinAVR et MFile et AVRDUDE
Vous constaterez que Programmers Notepad propose par défaut dans la colonne de gauche des "Text Clips" pour
différents langages / outils dont WinAVR, avec "application" et "function".
Double-cliquez sur "application" : un archétype de programme (avec include, fonction d'init et boucle main) est écrit
dans votre fichier vide, vous pouvez l'enregistrer, il est totalement fonctionnel même s'il ne fait rien.
Maintenant dans le menu Tools, choisissez l'option "[WinAVR] make all", elle va lancer la suite d'instructions
correspondant à la chaine complète (all = tout) dans votre Makefile auto-généré.
Copyright © PoBot
Page 5/6
Utiliser WinAVR et MFile et AVRDUDE
Vous avez désormais votre premier programme, inutile mais correctement compilé pour votre cible. Il ne reste plus
qu'à le transférer.
Programmation du microcontrôleur
Prenez votre programmateur d'Atmel AVR en ISP (on en présente quelques-uns dans les articles de la même
rubrique). Le makefile des projets WinAVR proposent le téléchargement par AVRDUDE, il suffit de préciser le type de
programmateur (stk200, stk500, avr910, avr901, butterfly, etc.. parmi les plus connus) et le port série (même pour un
programmateur USB, la plupart sont vus comme des émulations de port série COMx).
Copyright © PoBot
Page 6/6

Documents pareils