Bonjour,
Je souhaite programmer des microcontrôleurs Atmega328P-PU neufs, sans succès. Après avoir pas mal consulté les forums francophones et anglophones, il est temps de poster !
Les étapes :
- Je programme mon Arduino Uno avec le sketch "ArduinoISP", sans problème,
- Je reproduis le circuit indiqué ici,
- J'ajoute un condensateur 10 µF entre la masse et le reset de l'Arduino Uno, comme précisé ici (quand je l'enlève, avrdude me dit "programmer is not responding")
- Je sélectionne le programmateur "Arduino as ISP"
- Je sélectionne le type de carte "Arduino Uno", mais j'ai aussi essayé "Arduino Duemilanove/Nano w/ Atmega328"
- Je sélectionne "graver la séquence d'initialisation"
Je suis sous Ubuntu, j'utilise l'interface Arduino v.2.1 avec Avrdude 6.2.
Pour le débogage, j'ai activé l'affichage des résultats détaillés pendant le téléversement. J'ai aussi ajouté les leds témoins (heartbeat, error, programming) indiquées dans le sketch "ArduinoISP"
La commande lancée par l'IDE Arduino est :
/usr/share/arduino/hardware/tools/avrdude -C/usr/share/arduino/hardware/tools/avrdude.conf -v -v -v -v -patmega328p -cstk500v1 -P/dev/ttyACM0 -b19200 -e -Ulock:w:0x3F:m -Uefuse:w:0x05:m -Uhfuse:w:0xde:m -Ulfuse:w:0xff:m
Avrdude me dit : "verification error, first mismatch at byte 0x0000 : 0xfd != 0x05" Toujours avec ces valeurs. La led Heartbeat, qui clignotait auparavant, reste allumée après la tentative de téléversement.
Après lecture de cette page, je contourne le problème en installant Avrdude 6.3 et en l'invoquant en ligne de commande plutôt que par l'IDE : cela me permet d'ignorer l'erreur.
J'ai l'impression que c'est un succès, mais en fait je n'arrive toujours à programmer le microcontrôleur. Comme sur les microcontrôleurs vierges, j'ai le message "not in sync" et, une fois sur 10, "programmer is not responding".
Après vérification, Avrdude a terminé l'écriture du bootloader avec le code d'erreur 1. J'en conclus qu'il a échoué.
Vous avez une idée de ce qui se passe ? Des astuces pour me simplifier la tâche ?
Merci