Objectif

Programmer un ATmega8 ou ATmega168 en utilisant le langage (les librairies) Arduino sans utiliser le board Arduino.

Liens

Aide pour programmation AVR ISP:

Pin mappings:

Comment est-ce possible?

Arduino correspond en fait à plusieurs composantes distinctes:

  1. Un ensemble de librairies software
  2. Un bootloader
  3. Un setting de "fuses" spécifique pour les ATmega8/168 (fréquence, utilisation d'une clock externe, etc)
  4. Un board comprenant des caractéristiques spécifiques (port USB, port ISP, clock - cristal, convertisseur de tension, etc)

On peut utiliser certaines de ces composantes sans utiliser les autres. Pour programmer des ATmega on n'a pas besoin de bootloader si on a un programmeur ISP. De plus, on a pas nécessairement besoin du board, de toutes les pins, de la clock, etc.

Dans cette rencontre je montrerai comment on peut utiliser les librairies Arduino et utiliser d'autres settings de "fuses" à l'aide d'un programmeur ISP.

Outils

Ce qui se passe

En gros le Makefile ajoute une méthode main au programme Arduino:

void main() {
  setup();
  for (;;)
    loop();
}

Et inclut les librairies Arduino. Puis il compile le tout! Bref Arduino n'est pas un langage en soi: c'est du C++...

Comment faire

make # compile le code
make writefuse # ATTENTION: toujours vérifier que ce sont les bonnes fuses
make upload # envoie le programme sur le ATmega

Sur Windows AVR Studio: http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1196617535 (à essayer...)

Electronix/SoftDuino (last edited 2009-11-05 19:45:33 by localhost)