Environnement Arduino
L'environnement Arduino est conçu de manière à permettre simplement l'ajout de nouveaux programmateurs et de nouvelles cartes de développement. En effet, les listes des programmateurs et des cartes de développement supportés sont contenues dans des fichiers textes. Un simple éditeur de texte suffit.
De nombreux programmateurs peuvent ainsi être ajoutés, pour peu qu'ils soient supportés par AVRDUDE.
En ce qui concerne les cartes de développement, les contraintes sont un peu plus strictes. En effet, il faut que le microcontrôleur de la dite carte soit supporté par les bibliothèques Arduino : ATmega8/168/328, ATmega1280/2560. Si le microcontrôleur n'est pas officiellement supporté, il est possible d'y remédier au prix de quelques développements.
L'environnement Arduino doit être impérativement être fermé afin d'effectuer les configurations qui vont suivre.
Ajout du programmateur
Le programmateur mySmartUSB MK2 est compatible avec les protocoles AVR910 et AVR911. Ceux-ci sont pleinement supportés par AVRDUDE. Du point de vue du système d'exploitation, ce programmateur est connecté sur une interface de communication série.
La liste des programmateurs supportés par l'environnement Arduino est contenue dans le fichier arduino/hardware/arduino/programmers.txt.
La définition d'un nouveau programmateur consiste à créer un objet, ici mysmartusbmk2, et à en définir quelques propriétés :
mysmartusbmk2.name = mySmartUSB MK2 mysmartusbmk2.communication=serial mysmartusbmk2.protocol=avr910
- nom (ligne 1) ;
- interface (ligne 2) ;
- protocole (ligne 3).
Ajout de la carte de développement
La carte de développement myAVR Board MK2 est basée sur un microcontrôleur Atmel AVR ATmega8. Ayant été le cœur des premières cartes de développement Arduino, celui-ci est officiellement supporté. Il est de plus compatible pin to pin avec l'ATmega328 qui le remplace désormais.
La liste des cartes de développement supportées par l'environnement Arduino est contenue dans le fichier arduino/hardware/arduino/boards.txt.
La définition d'une nouvelle carte de développement consiste à créer un objet, ici myavrboardmk2, et en définir quelques propriétés :
myavrboardmk2.name=myAVR Board MK2 myavrboardmk2.upload.protocol=avr910 myavrboardmk2.upload.maximum_size=7168 myavrboardmk2.upload.speed=19200 myavrboardmk2.bootloader.low_fuses=0xdf myavrboardmk2.bootloader.high_fuses=0xca myavrboardmk2.bootloader.path=atmega8 myavrboardmk2.bootloader.file=ATmegaBOOT.hex myavrboardmk2.bootloader.unlock_bits=0x3F myavrboardmk2.bootloader.lock_bits=0x0F myavrboardmk2.build.mcu=atmega8 myavrboardmk2.build.f_cpu=3686411L myavrboardmk2.build.core=arduino myavrboardmk2.build.variant=standard
- nom (ligne 1) ;
- téléchargement (lignes 3 à 5) ;
- bootloader (lignes 7 à 12) ;
- compilation (lignes 14 à 17).
On prend pour référence la carte de développement Arduino NG or older w/ ATmega8.
Mise en œuvre
Le configuration de l'environnement Arduino est terminée. Il est temps de passer à la mise en œuvre...
Sélection du port série
On sélectionne le port série sur lequel est connectée la carte de développement myAVR Board MK2 via le menu Tools > Serial Port, ici /dev/ttyUSB0.
Sélection du programmateur
On sélectionne le programmateur mySmartUSB MK2 que l'on vient d'ajouter via le menu Tools > Programmer.
Sélection de la carte de développement
On sélectionne la carte de développement myAVR Board MK2 que l'on vient d'ajouter via le menu Tools > Board.
Téléchargement du logiciel
L'environnement de développement Arduino est désormais configuré pour utiliser le programmateur mySmartUSB MK2 et la carte de développement myAVR Board MK2. On ouvre le sketch d'exemple Blink puis on le télécharge.
Si la configuration effectuée à l'instant est correcte, l'environnement Arduino affiche le message "Done uploading.", voire le message "avrdude done. Thank you." dans la console si le mode verbose est activé.
Conclusion
Le programmateur mySmartUSB et la carte de développement myAVR Board MK2 sont désormais pris en charge par l'environnement Arduino. Mais cet article va au delà : il présente une démarche qui peut être adaptée à n'importe quel type de programmateur supporté par AVRDUDE et n'importe quelle carte de développement à base de microcontrôleur AVR.