summaryrefslogtreecommitdiff
path: root/n/avr/howto/howto-avr.txt
diff options
context:
space:
mode:
Diffstat (limited to 'n/avr/howto/howto-avr.txt')
-rw-r--r--n/avr/howto/howto-avr.txt37
1 files changed, 37 insertions, 0 deletions
diff --git a/n/avr/howto/howto-avr.txt b/n/avr/howto/howto-avr.txt
index 87d6797..5c5388a 100644
--- a/n/avr/howto/howto-avr.txt
+++ b/n/avr/howto/howto-avr.txt
@@ -33,6 +33,43 @@ Pour la programmation, il y a avrdude, programmation de l'AVR avec 3 fils.
Les fichiers |Makefile| et |Makefile.avr| livrés avec cet howto peuvent être
utilisés pour compiler les projets.
+* 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
+
* Modules Efrei Robotique
Chaque module est déposé dans son répertoire séparé. Pour les utiliser dans un