J'utilise un Arduino UNO pour programmer une image hexadécimale précompilée sur un ATTINY45, en utilisant l'avrdude dans le répertoire Arduino IDE, sur Windows 7. L'UO a l'esquisse du FAI chargée à partir du répertoire des exemples et cela fonctionne - la LED de pulsation bat bien.
Côté matériel, j'ai cette configuration , sauf que l'ATTINY est à montage en surface, soudé à une planche de surf avec toutes ses broches vérifiées-soudées avec un voltmètre. J'utilise une bande de broches d'en-tête, tenue à la main pour que les broches touchent la planche de surf, pour obtenir les signaux de l'Uno à l'ATTINY.
Voici les lignes de commande, que j'ai prises en regardant la sortie de débogage de l'EDI:
REM set the fuse for 8MHz, so the ISP programmer can work
C:\Progra~1\Arduino\hardware\tools\avr\bin\avrdude -CC:\Progra~1\Arduino\hardware/tools/avr/etc/avrdude.conf -v -v -v -v -pattiny45 -cstk500v1 -P\\.\COM7 -b19200 -e -Uefuse:w:0xff:m -Uhfuse:w:0xdf:m -Ulfuse:w:0xe2:m
REM load the program
C:\Progra~1\Arduino\hardware\tools\avr\bin\avrdude -CC:\Progra~1\Arduino\hardware/tools/avr/etc/avrdude.conf -v -pattiny45 -cstk500v1 -P\\.\COM7 -b19200 -Uflash:w:firefly.hex:i
REM set fuse for 1MHz, as the project requires
C:\Progra~1\Arduino\hardware/tools/avr/bin/avrdude -CC:\Progra~1\Arduino\hardware/tools/avr/etc/avrdude.conf -v -pattiny45 -cstk500v1 -P\\.\COM7 -b19200 -e -Uefuse:w:0xff:m -Uhfuse:w:0xdf:m -Ulfuse:w:0x62:m
-J'essaye de les exécuter séparément, mais j'obtiens toujours cette erreur:
avrdude: Device signature = 0x000000
avrdude: Yikes! Invalid device signature.
Double check connections and try again, or use -F to override
this check.
mais parfois le nombre est ff0000 ou ffff00 ou ffffff
J'ai lu que "Arduino utilise une version légèrement modifiée d'avrdude pour télécharger des croquis sur la carte Arduino. La version standard interroge la signature de l'appareil de la carte d'une manière qui n'est pas comprise par le chargeur de démarrage, ce qui entraîne cette erreur." Est-ce à dire que l'utilisation de l'Arduino avrdude avec une nouvelle puce ATTINY, sans bootloader dessus, provoquerait également la même erreur? En d'autres termes, l'avrdude modifié est-il incapable d'interroger une puce AVR non chargée par Arduino?
Ou est-ce que cette erreur signifie simplement que je n'ai pas un bon contact entre toutes mes broches de programmation et l'ATTINY?
Et, les paramètres de fusible sont-ils vraiment nécessaires, est-ce que l'Uno peut programmer le flash dans une fonction fonctionnant à 1 MHz et ainsi me sauver quelques étapes?
(J'achèterais simplement un "vrai" programmeur, mais je devrais obtenir ce code dans les deux prochains jours, et je suis dans une partie rurale de la Nouvelle-Écosse)
-carduino
pas le stk500. Essayez simplement de télécharger le programme de clignotement sur le serveur depuis l'IDE. De cette façon, vous pouvez voir la ligne de commande correcte en bas, si vous activez la "sortie détaillée" dans les paramètres.
-c avrisp
. Je pense que vous pouvez le programmer à 1 MHz sans problème.