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.

mysmartusb.jpg

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.

myavr-board-2-usb.jpg

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.

port.png

Sélection du programmateur

On sélectionne le programmateur mySmartUSB MK2 que l'on vient d'ajouter via le menu Tools > Programmer.

programmer.png

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.

board.png

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.

upload.png

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.

Références