Il est temps maintenant d'aborder la présentation des logiciels permettant de programmer nos microcontrolleurs.
Je ferais une présentation sommaire des logiciels les plus connus et gratuits, tous disponible en section téléchargement.
AVR STUDIO
PONY PROG

Voici l'un des plus célèbre logiciel de programmation. En effet AVR STUDIO est un éditeur, assembleur, simulateur et programmateur/débogueurs (pour les platines de développements STK 501,500...).
Il est évident que le simulateur n'est pas aussi perfectionné que les logiciels professionnels, mais il permet de débusquer de bonnes erreurs de programmation.
Pour ma part j'utilise la version 3.53 qui me semble la plus pratique.
Dans un premier temps il faut créer un repertoire de travail dans lequel nous déciderons d'inclure les fichiers d'un nouveau projet, remarquez au passage l'appellation "projet", qui determine un ensemble de fichiers (le résultat de la compilation, la configuration des outils de simulations...).
Donc on peut créer un repertoire comme : C:\AVR\mes projets\essai\
On lance AVR STUDIO et on choisi dans l'onglet PROJECT > New

Ensuite s'ouvre une nouvelle fenêtre : entrer le nom du fichiers projet, sa destination et sélectionner le type : ici AVR assembler

En validant, on aperçoit une fenêtre client :
cliquer à droite sur Assembleur Files, une multitude de solutions s'offre à vous : on peut créer un nouveau fichier ASM vide, ou en sélectionner un déjà existant (fichiers de programmations type), dans ce cas pensez à le déplacer dans le repertoire de travail.
Si un nouveau fichier est créé, AVR studio en demande le nom, terminez l'extension du fichier par .asm

On retrouve la fenêtre suivante :
Dans essai1.asm, j'ai tout simplement effectué un copier collé pour récupérer la partie des déclarations en assembleur.

On peut maintenant écrire son programme, et le compiler en appuyant sur la touche F7 ou encore dans le menu Project > Assemble.
Si tout se passe bien et dans le meilleur des mondes, nous devrions avoir le message suivant :
Dans le cas contraire le numéro d'erreurs s'affiche, ainsi qu'une descriptions et le numéro de ligne à laquelle la faute est détectée.
N'oubliez pas d'inclure dans le repertoire de travail le fichiers de définition concerné, ici : 8535def.inc
Parfait ! , mais le fichiers assembleur généré à pour extension *.lst ce qui nous intéresse pas, il faut donc régler l'assembleur pour qu'il généré un fichiers *.hex, pour ce faire cliquer : Project > Project Settings et choisissez "Intel Intellec 8/MDS" , vient s'afficher par défaut l'extension hex, parfait.

Une fois le programme ne comportant aucune erreur, passons a la simulations ; Appuyons sur ' Ctrl F7' , ou encore Project > Build and Run. Une nouvelle fenêtre s'affiche nous demandant plusieurs renseignements : Le type de microcontroleur et la fréquence de fonctionnement. Pour ce qui est de la taille mémoire et la Data memory, ne touchez à rien.

Maintenant nous pouvons simuler notre programme de plusieurs manières, pas à pas (F11),automatique... Regardez pour cela le menu Debug.
Il nous faut ajouter maintenant les paramètres à surveiller avec View , plusieurs outils sont disponibles, voici les principaux :
Registers :
Il s'agit de la valeur hexadecimal des registres principaux (R0 à R31). On peut modifier la valeur d'un registre en cliquant dessus, ou bien encore de le nommer : il est beaucoup plus pratique de scruter les informations par leurs nom plutôt que par leurs numéros de registre; Pour se faire : clique droit sur le registre, puis Add Comment pour rentrer le nom du registre. Dans mes programmes je me sers souvent du registre R16 en tant qu'accumulateur 'a', je l'ai donc noté ainsi. (les veilles manières avec le 8051 ne se perdent pas !)

Processors :
Ici on trouve le contenu de plusieurs registres 'système ainsi que le temps écoulé depuis le lancement de la simulations.'

New Memory view :
Permet de visualiser les valeurs contenues dans la Sram, EEprom...
ATTENTION :
AVR STUDIO ne charge pas automatiquement le fichier EEprom : si vous avez créé des déclaration de segment avec .db ou autre dans l'espace EEprom, il faut charger manuellement le fichier nomfich.epp à l'aide de la procédure suivante :
Dans le menu DEBUG, choisir UP/Dowload Memories, sélectionner le type de mémoire; Ici EEprom, parcourir pour charger le fichier .epp, et terminer le processus avec le bouton load and program.
New Memory view :
Tous les registres matériels sont représentés ici. On peut développer chacun d'entre eux et modifier leurs valeurs, bien pratique pour simuler une fin de conversion, ou l'arrivé d'un caractère sur le port série

Voila, je pense qu'avec cette présentation de prise en main rapide d'AVR studio vous êtes maintenant capable de l'utiliser sans aucune difficultés...

Pony Prog est un logiciel de programmation In-situ dont l'utilisation ne pose vraiment aucune difficulté.
Capable de programmer les microcontroleurs Atmel, il est aussi possible de réaliser différentes interfaces, dont les plans sont joint avec le logiciel, afin de programmer une multitude de composant comme des EEPROM séries, les PICs....
La seule chose importante à effectuée au premier lancement du logiciel est la calibration de l'interface, mécanisme totalement automatique mais nécessaire, Stop, avant toute chose je vous conseille de baisser le volume de vos enceintes, a vous de voir... , vous saurez pourquoi !!!
On lance PONY Prog et on choisi dans l'onglet SETUP > Interface Setup

Choisissez le type de conection (dongle sur port parallèle), le numéro de port ainsi que le type de protocole, ici : AVR ISP I/O.
Valider le tout, ré-ouvrer le menu SETUP, et selectionné Calibration.
Reste plus qu'a programmer le microcontroleur.
Ouvrer le menu OPEN, puis Open Programm (flash file), parcourir pour trouver le fichier .hex.
Maintenant on peut visualiser notre programme :

Ensuite dans le menu Command, on execute Write All, ce qui programme la flash du microcontroleur.
A noter la possibilité de programmer la memoire EEprom, ou encore les "fusible", ou bien d'autres fonctions que vous découvrirez, mais ne posant aucun soucis majeur de compréhension. |