From 85e948d905587c5e018759953e508f4cd91a0b1a Mon Sep 17 00:00:00 2001 From: schodet Date: Thu, 21 Jul 2005 21:04:22 +0000 Subject: Ajout du répertoire doc avec le how-to de base. --- n/avr/doc/howto.txt | 71 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 n/avr/doc/howto.txt (limited to 'n/avr/doc') diff --git a/n/avr/doc/howto.txt b/n/avr/doc/howto.txt new file mode 100644 index 0000000..e68503a --- /dev/null +++ b/n/avr/doc/howto.txt @@ -0,0 +1,71 @@ +*Title: Howto AVR +*Author: Ni + +* Intro + +On utilisera principalement des ATmega8 et des ATmega8535. Ce sont des +microcontrolleur 8 bits, avec 8 Ko de flash, 16 Mips, 28 ou 40 pattes, 1 Ko de +ram, un bus TWI, SPI, un USART, la programmation en circuit, des entrées +analogiques, des sorties PWM... Le tout pour environ 6 Euros. + +* Les sites à aller voir + + [http://www.atmel.com/products/avr/] Lire la datasheet du ATmega8. + L'ATmega8535 ne différe que par le nombre de pattes et la ram. + Regarder les app-notes. + + [http://www.avrfreaks.net/] Pas mal d'infos sur les AVRs, un forum, + des projets examples... + + [http://www.nongnu.org/avr-libc/] Le site de la libc pour AVR. Tout ce + qu'il faut pour développer. _Lire_ particulièrement la doc, de haut en + bas. Il y a un programme d'exemple, mais on ne devrais pas manquer de + programmes d'exemples au robot d'ici quelque jours. + +* Les outils de dev + +Sur le serveur du robot : gcc. + +Sur les Windows, on peut faire fonctionner gcc avec AVR Studio. + +Pour la programmation, il y a avrdude, programmation de l'AVR avec 3 fils. + +* Programmation avec avrdude + +Le programmateur utilise trois pattes de l'AVR, attention à ne pas griller le +port parallèle en réglant ces pattes en sortie. On devrais metre des +résistances en série sur le programmateur pour éviter ça. De même, attention à +ne pas griller le MAX232 relié au port série. + +L'option |-p| permet de choisir le composant, l'option |-c| le programmateur. +Par exemple pour programmer le premier ATmega8 sur le programmateur du robot : + + avrdude -p m8 -c robot0 -E noreset ... + +L'option |-E| démare le composant aprés la programmation (relache le reset). +On peut aussi choisir l'état des autres pistes. + +Avrdude peut tenir dans les dernier octets d'eeprom le nombre de +programmations du composant, pour initialiser ce nombre, faire avec un nouveau +composant, utiliser l'option |-Y| : + + avrdude -p m8 -c robot0 -E noreset -Y 0 + +Il faut ensuite choisir le mode d'oscillation de l'AVR, voir la datasheet pour +les détails sur les HFUSE et LFUSE. Attention, un mauvais réglage et on peut +avoir du mal à récupérer l'AVR en utilisant la programmation ISP. + +Pour oscillation sur quartz avec un quartz de plus de 8 MHz sur un ATmega8 : + + avrdude -p m8 -c robot0 -E noreset -U lfuse:w:0xff:m -U hfuse:w:0xc9:m + +Pour programmer la flash : + + avrdude -p m8 -c robot0 -E noreset -U flash:w:fichier.hex -y + +En bonus, pour reseter l'AVR depuis le PC : + + avrdude -p m8 -c robot0 -E noreset + +Pour un autre composant, regarder la datasheet, vérifier 5 fois, demander à +d'autres personnes de vérifier et ajouter les commandes dans ce document. -- cgit v1.2.3