29
décembre
2006
De UIPS à AVRDUDE
Tags : AVR
posté dans Electronique |
Deux outils se disputent la vedette en ce qui concerne la programmation des microcontrôleurs AVR d'Atmel : UISP et AVRDUDE. L'un et l'autres ont des avantages et des inconvénients, mais le passage de l'un à l'autre coince parfois.
Le modèle d'adaptateur est le suivant :

Sur ma configuration, le port utilisé est /dev/parport2. Nous avons donc pour un ATTiny2313 UISP :
- effacement de la mémoire flash :
% uisp -dlpt=/dev/parport2 --erase -dprog=dapa -dno-poll Atmel AVR ATtiny2313 is found. Erasing device ... Reinitializing device Atmel AVR ATtiny2313 is found.
- écriture :
% uisp -dlpt=/dev/parport2 -dprog=dapa -dno-poll -v --upload if=out.hex AVR Direct Parallel Access succeeded after 0 retries. Atmel AVR ATtiny2313 is found. Uploading: flash #### (total 98 bytes transferred in 0.15 s (655 bytes/s)
- vérification :
% uisp -dlpt=/dev/parport2 -dprog=dapa -dno-poll -v --verify if=out.hex AVR Direct Parallel Access succeeded after 0 retries. Atmel AVR ATtiny2313 is found. Verifying: flash #### (total 98 bytes transferred in 0.07 s (1415 bytes/s)
- lecture fuses :
% uisp -dlpt=/dev/parport2 -dprog=dapa -dno-poll -v --rd_fuses AVR Direct Parallel Access succeeded after 0 retries. Atmel AVR ATtiny2313 is found. Fuse Low Byte = 0x64 Fuse High Byte = 0xdf Fuse Extended Byte = 0xff Calibration Byte = 0x50 -- Read Only Lock Bits = 0xff BLB12 -> 1 BLB11 -> 1 BLB02 -> 1 BLB01 -> 1 LB2 -> 1 LB1 -> 1
Avec AVRDUDE :
- effacement :
% avrdude -p t2313 -c dapa -P /dev/parport2 -i 5 -e avrdude: AVR device initialized and ready to accept instructions Reading | ################################################## | 100% 0.00s avrdude: Device signature = 0x1e910a avrdude: erasing chip avrdude: safemode: Fuses OK avrdude done. Thank you.
- écriture et vérification :
% avrdude -p t2313 -c dapa -P /dev/parport2 -i 5 -U flash:w:out.hex
avrdude: AVR device initialized and ready to accept instructions
Reading | ################################################## | 100% 0.00s
avrdude: Device signature = 0x1e910a
avrdude: NOTE: FLASH memory has been specified, an erase cycle
will be performed
To disable this feature, specify the -D option.
avrdude: erasing chip
avrdude: reading input file "out.hex"
avrdude: input file out.hex auto detected as Intel Hex
avrdude: writing flash (130 bytes):
Writing | ################################################## | 100% 0.12s
avrdude: 130 bytes of flash written
avrdude: verifying flash memory against out.hex:
avrdude: load data flash data from input file out.hex:
avrdude: input file out.hex auto detected as Intel Hex
avrdude: input file out.hex contains 130 bytes
avrdude: reading on-chip flash data:
Reading | ################################################## | 100% 0.09s
avrdude: verifying ...
avrdude: 130 bytes of flash verified
avrdude: safemode: Fuses OK
avrdude done. Thank you.
- lecture fuses :
% avrdude -p t2313 -c dapa -P /dev/parport2 -i 5 -U hfuse:r:-:b -U lfuse:r:-:b avrdude: AVR device initialized and ready to accept instructions Reading | ################################################## | 100% 0.00s avrdude: Device signature = 0x1e910a avrdude: reading hfuse memory: Reading | ################################################## | 100% 0.00s avrdude: writing output file "<stdout>" 0b11011111 avrdude: reading lfuse memory: Reading | ################################################## | 100% 0.00s avrdude: writing output file "<stdout>" 0b1100100 avrdude: safemode: Fuses OK avrdude done. Thank you.
Notez l'utilisation de l'option -i permettant de spécifier le délai pour le signal d'horloge (en microsecondes). Selon l'adaptateur, la longueur du câble parallèle, etc... on peut rencontrer quelques problèmes et perdre beaucoup de temps à comprendre d'où vient le problème :
% avrdude -p t2313 -c dapa -P /dev/parport2
avrdude: AVR device not responding
avrdude: initialization failed, rc=-1
Double check connections and try again, or use -F to override
this check.
avrdude done. Thank you.
Article posté
on Vendredi, 29 décembre 2006 à 11:23 dans Electronique.
Vous pouvez suivre les commentaires sur cet article via un feed RSS 2.0.
Vous pouvez laisser un commentaire. Le Ping n'est actuellement pas autorisé.