prof. Jacques Lepot
ATMEGA, la programmation
Microcontrôleurs

Pour programmer nos micros, la première chose à faire est de choisir un langage et d'installer les outils nécessaires.
Dans le meilleur des cas, tous les outils sont intégrés dans un IDE (integrated dev. environement).
C'est un gros programme qui reprend les outils suivants:

Un éditeur de texte spécialisé, syntaxe colorée, terminer les mots, identation automatique, aide contextuelle
Un compilateur, pour convertir votre code source en exécutable
Un linker, pour associer des librairies a votre programme et déterminer les emplacements en mémoire
Des librairies de fonctions, mathématiques, chaînes de caractères, entrées/sorties ...
Un simulateur, pour exécuter pas a pas votre programme sur un PC.
Un debugger, qui dans le meilleur cas communique avec le programme stocké dans le microcontrôleur.
Une bonne documentation et des exemples.
Un forum sur le web.


Nous avons au moins 4 possibilités: l'assembler, le basic et le C.

  IDE avantages inconvénients
assembler avrstudio
gratuit
code ultra compact et ultra rapide
IDE complet et très performant
complexe pour les non initiés,
nécessite l'étude détaillée de l'architecture du CPU
mauvais langage pour gros programmes, maintenance difficile.
basic bascom
démo limitée

trés facile, de nombreux exemples,
des librairies pour la configuration et l'utilisation des fonctions internes, timers, AD, SPI etc. ainsi que pour des protocoles vers des circuits externes I2C,LCD 1WIRE.
Possibilité de mélanger de l'assembler.
IDE complet (éditeur, help intégré, simulateur etc)

N'est pas un Basic complet,
Expressions arithmétiques limitées
Tableaux à une seule dimension ...
N'existe que pour 2 familles de processeurs (AVR et 8051)

C GCC,
open source
mais pas un réel IDE
L'universalité du C et des ses librairies.
La pluspart des codes "open sources", sont en C
Possibilité de mélanger de l'assembler.
GCC est une série d'outils prévus pour fonctionner en ligne de commande.
Ce n'est pas un réel IDE,
nécessite d'être initié au "make" et au linker.
C++ ARDUINO Très facile, basé sur la suite GCC Trop facile

Pour le C, il existe un autres outil très performants, mais coûteux: IAR Embedded Workbench for Atmel AVR par exemple

Au labos, nous commencerons par Arduino pour sa simplicité de mise en route et les bonnes caractéristiques de l'IDE.
Ensuite nous utiliserons le C avec GCC et Winavr.