Modifications

FabISP

5 146 octets ajoutés, 24 septembre 2014 à 15:35
programmation
==programmation==
J'utilise un Pour programmer le programmateur, il faut utiliser [arduino.cchttp:/en/Tutorial/ArduinoISP arduino comme programmateur ISP] pour mettre le programme sur la puceacademy.cba.mitune erreur semble vouloir dire que lisp est mal cablée<code>avrdude -c arduino -P /dev/ttyACM0 -C /home/cedricedu/fabacademyclasses/electronicProductionembedded_programming/fabISP_macfirmware.0.8.2_firmware/avrdude.conf -p attiny44 -U hfuse:w:0xDF:m -U lfuse:w:0xFF:m avrdude: please define PAGEL and BS2 signals in the configuration file for part ATtiny44avrdude: AVR device initialized and ready to accept instructions Reading | ################################################## | 100% 0.00s avrdude: Device signature = 0x1e950favrdude: Expected signature for ATtiny44 is 1E 92 07 Double check chip, or use -F to override this check. avrdude done. Thank you. make: *** [fusezip le firmware fournit en cours ] Erreur 1</code>
===avec l'AVRISP V2===
[[image:Fabisp.programming.jpg|600px]]
 
Lorsqu'on cable de circuit cible au programmateur, c'est déjà bon signe si la led s'allume en vert.
 
ensuite, après avoir décompresser le dossier firmware, éditer le fichier makefile pour indiquer qu'on programme avec l'AVRISP :
 
<code lang:bash>AVRDUDE = avrdude -c avrisp2 -P usb -p $(DEVICE)</code>
 
ensuite on lance la compilation :
 
<code lang:bash>make hex</code>
 
le résultat de la compilation :
 
<code lang:bash>avr-gcc -Wall -Os -DF_CPU=20000000 -Iusbdrv -I. -DDEBUG_LEVEL=0 -mmcu=attiny44 -c usbdrv/usbdrv.c -o usbdrv/usbdrv.o
avr-gcc -Wall -Os -DF_CPU=20000000 -Iusbdrv -I. -DDEBUG_LEVEL=0 -mmcu=attiny44 -x assembler-with-cpp -c usbdrv/usbdrvasm.S -o usbdrv/usbdrvasm.o
avr-gcc -Wall -Os -DF_CPU=20000000 -Iusbdrv -I. -DDEBUG_LEVEL=0 -mmcu=attiny44 -c usbdrv/oddebug.c -o usbdrv/oddebug.o
avr-gcc -Wall -Os -DF_CPU=20000000 -Iusbdrv -I. -DDEBUG_LEVEL=0 -mmcu=attiny44 -c main.c -o main.o
avr-gcc -Wall -Os -DF_CPU=20000000 -Iusbdrv -I. -DDEBUG_LEVEL=0 -mmcu=attiny44 -o main.elf usbdrv/usbdrv.o usbdrv/usbdrvasm.o usbdrv/oddebug.o main.o
rm -f main.hex main.eep.hex
avr-objcopy -j .text -j .data -O ihex main.elf main.hex
avr-size main.hex
text data bss dec hex filename
0 2020 0 2020 7e4 main.hex
</code>
 
Puis on regle les fusibles :
 
 
<code lang:bash>make fuse</code>
 
résultat :
 
<code lang:bash>avrdude -c avrisp2 -P usb -p attiny44 -U hfuse:w:0xDF:m -U lfuse:w:0xFF:m
 
avrdude: AVR device initialized and ready to accept instructions
 
Reading | ################################################## | 100% 0.11s
 
avrdude: Device signature = 0x1e9207
avrdude: reading input file "0xDF"
avrdude: writing hfuse (1 bytes):
 
Writing | ################################################## | 100% 0.04s
 
avrdude: 1 bytes of hfuse written
avrdude: verifying hfuse memory against 0xDF:
avrdude: load data hfuse data from input file 0xDF:
avrdude: input file 0xDF contains 1 bytes
avrdude: reading on-chip hfuse data:
 
Reading | ################################################## | 100% 0.04s
 
avrdude: verifying ...
avrdude: 1 bytes of hfuse verified
avrdude: reading input file "0xFF"
avrdude: writing lfuse (1 bytes):
 
Writing | ################################################## | 100% 0.11s
 
avrdude: 1 bytes of lfuse written
avrdude: verifying lfuse memory against 0xFF:
avrdude: load data lfuse data from input file 0xFF:
avrdude: input file 0xFF contains 1 bytes
avrdude: reading on-chip lfuse data:
 
Reading | ################################################## | 100% 0.04s
 
avrdude: verifying ...
avrdude: 1 bytes of lfuse verified
 
avrdude: safemode: Fuses OK
 
avrdude done. Thank you.
</code>
 
enfin, on upload le programme :
 
<code lang:bash>make program</code>
 
résultat :
 
<code lang:bash>avrdude -c avrisp2 -P usb -p attiny44 -U flash:w:main.hex:i
 
avrdude: AVR device initialized and ready to accept instructions
 
Reading | ################################################## | 100% 0.11s
 
avrdude: Device signature = 0x1e9207
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 "main.hex"
avrdude: writing flash (2020 bytes):
 
Writing | ################################################## | 100% 73.70s
 
avrdude: 2020 bytes of flash written
avrdude: verifying flash memory against main.hex:
avrdude: load data flash data from input file main.hex:
avrdude: input file main.hex contains 2020 bytes
avrdude: reading on-chip flash data:
 
Reading | ################################################## | 100% 71.44s
 
avrdude: verifying ...
avrdude: 2020 bytes of flash verified
 
avrdude: safemode: Fuses OK
 
avrdude done. Thank you.
 
avrdude -c avrisp2 -P usb -p attiny44 -U hfuse:w:0xDF:m -U lfuse:w:0xFF:m
 
avrdude: AVR device initialized and ready to accept instructions
 
Reading | ################################################## | 100% 0.11s
 
avrdude: Device signature = 0x1e9207
avrdude: reading input file "0xDF"
avrdude: writing hfuse (1 bytes):
 
Writing | ################################################## | 100% 0.04s
 
avrdude: 1 bytes of hfuse written
avrdude: verifying hfuse memory against 0xDF:
avrdude: load data hfuse data from input file 0xDF:
avrdude: input file 0xDF contains 1 bytes
avrdude: reading on-chip hfuse data:
 
Reading | ################################################## | 100% 0.04s
 
avrdude: verifying ...
avrdude: 1 bytes of hfuse verified
avrdude: reading input file "0xFF"
avrdude: writing lfuse (1 bytes):
 
Writing | ################################################## | 100% 0.04s
 
avrdude: 1 bytes of lfuse written
avrdude: verifying lfuse memory against 0xFF:
avrdude: load data lfuse data from input file 0xFF:
avrdude: input file 0xFF contains 1 bytes
avrdude: reading on-chip lfuse data:
 
Reading | ################################################## | 100% 0.04s
 
avrdude: verifying ...
avrdude: 1 bytes of lfuse verified
 
avrdude: safemode: Fuses OK
 
avrdude done. Thank you.
</code>
 
 
 
Le programmateur est maintenant prêt à fonctionner : il ne reste plus qu'à dessouder les juppers 1 et 2.
 
Pour férifier qu'il réagit bien, je tape
 
<code lang:bash>lsusb</code>
 
Lorsque j'ai branché le programmateur, il apparait dans la liste sosu cette forme :
 
<code lang:bash>Bus 003 Device 013: ID 1781:0c9f Multiple Vendors USBtiny</code>
 
ça y est, j'ai un FabISP qui fonctionne !
 
 
==utilisation==
 
Il faut faire une petite manip pour pouvoir utiliser le FabISP sans être root, sans quoi on a une erreur
<code>avrdude: error: usbtiny_transmit: error sending control message: Operation not permitted
</code>
 
http://mightyohm.com/blog/2010/03/run-avrdude-without-root-privs-in-ubuntu/
[[Catégorie:FabAcademy]]
[[Catégorie:Electronique]]
0
6 691
modifications