Club robotique de Sophia-Antipolis

Accueil > POBOTpedia > Programmation > Apprendre à coder > Les micro-contrôleurs > Trucs et astuces > AVR Burn-O-Mat pour micro-contrôleurs Atmel

AVR Burn-O-Mat pour micro-contrôleurs Atmel

mercredi 4 juillet 2012, par Jean-Pierre, Julien H.

La programmation d’un micro-contrôleur Atmel AVR en mode "in situ" ou ISP nécessite trois étapes :

 la rédaction du code source
 la compilation si le langage source le nécessite (C, Java)
 le flashage de la mémoire de la puce avec le programme machine

Cette dernière étape peut être réalisée de plusieurs manières :

 depuis la ligne de commande (par ex avec avrdude)
 depuis un logiciel spécifique à la carte
 depuis un logiciel de développement intégré (IDE)

La solution que nous présentons ici est un mélange des deux premiers : c’est bien avrdude qui va faire le transfert (le flashage), mais on le fera à travers une interface graphique appelée AVR Burn-O-Mat.

Le point de départ ne change pas : il faut avoir généré le programme en langage machine, dans notre cas on utilise le format .hex (Intel).

Téléchargement

Il faut :

 Java (JRE ou JDK)
 avrdude (déjà installé avec WinAVR si vous l’avez)
 le logiciel AVR Burn-o-mat

Installation

Pour Windows, vous disposez sur le site officiel d’un exécutable, l’installation est donc très facile. Cependant il faudra le configurer la première fois, et à chaque changement de carte ou d’ordinateur.

Pour GNU/Linux (Ubuntu ou Debian), il y a un paquet .deb à télécharger, mais nous le déconseillons. Voici ce que nous avons fait :

atelier@ubuntu:~$ wget http://avr8-burn-o-mat.aaabbb.de/avr8-burn-o-mat-2.1.2-all.deb
atelier@ubuntu:~$ sudo dpkg -i avr8-burn-o-mat-2.1.2-all.deb

Mais il y a une erreur (numéro de version), le paquet ne respecte pas les standards. Pareil en passant par l’installeur de paquets Ubuntu.

Il est possible d’utiliser les autres fichiers disponibles sur le site aaabbb, dont les sources. Pour simplifier, on partira du principe que les utilisateurs de Linux n’ont pas besoin d’une interface graphique pour avrdude, donc pas de AVR Burn-O-Mat pour eux bien que cela soit possible.

Utilisation

La fenêtre est très simple.

Fenêtre principale

Dans la plupart des cas, vous n’avez que trois opérations à faire :

 vous assurer que le micro-contrôleur est le bon, par exemple "atmega8" à sélectionner dans le menu déroulant "AVR type"

 aller chercher le programme .hex dans la partie "Flash" (et pas EEPROM), en cliquant sur le bouton "File" et en sélectionnant dans l’arborescence de votre ordinateur le bon fichier

 cliquer sur le bouton "Write" pour écrire le programme dans la mémoire de l’AVR (attention, c’est le bouton Write de la section Flash, pas EEPROM).

Un clic et c’est envoyé !

Configuration de AVRDUDE

Lorsque vous connectez une carte de programmation par liaison USB (série) pour AVR la première fois sur votre ordinateur, un numéro de port lui est attribué (COM1, COM2, COM3...) et normalement il ne changera plus, même lorsque vous connecterez d’autres cartes du même type ou d’autres cartes utilisant l’USB pour une communication série de type COMx.

Donc pour la première fois, ou dans d’éventuels rares cas, voici comment sélectionner le bon port série et le type de carte de programmation.

Un menu "Settings" propose de configurer AVRDUDE (premier choix dans la liste) :

Une fenêtre apparaît alors. Si vous avez installé vous-même avrdude ou bien si vous avez installé WinAVR avec un autre chemin que celui connu de AVR Burn-O-Mat, alors il faut changer le chemin vers le fichier avrdude.exe et avrdude.conf.

Une fois fait, fermez AVR Burn-O-Mat et relancez-le afin qu’il interroge avrdude sur ses options disponibles, puis revenez sur cet écran de configuration d’AVRDUDE : la section "AVRDUDE Options" comporte deux champs "Programmer" et "Port" que l’on va personnaliser.

Si vous utilisez une carte de la marque myAVR, c’est le choix "avr910" qu’il faut sélectionner dans le menu déroulant du "Programmer".

Pour le port, la liste n’est pas spécifique à votre machine, elle est très longue. Il faut donc identifier par un autre moyen (panneau de configuration du matériel de Windows, logiciel spécifique à votre carte de programmation) quel est le numéro de votre port.

Les options en dessous sont modifiées automatiquement selon le type de programmateur sélectionné. N’y touchez pas sans une bonne connaissance de leurs effets.

Cliquez sur le bouton "Apply" puis "Ok". Vous êtes désormais prêt à envoyer le programme compilé dans le micro-contrôleur.

Un message, un commentaire ?

modération a priori

Attention, votre message n’apparaîtra qu’après avoir été relu et approuvé.

Qui êtes-vous ?

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.