Problème de téléversement / programmer is not responding [RESOLU]

Bonjour à tous.

Après avoir passé plusieurs jours à tenter de bootloader un ATmega328P-PU, j'ai enfin réussi !
Je m'arrache aujourd'hui les cheveux pour le programmer et me suis dit que si quelqu'un pouvais me montrer ou j'ai fait une erreur débile... ce serai super :slight_smile:

J'ai un arduinoMega2560, IDE 1.8.4, une alim externe 9V pour l'arduino.
Sur une breadboard, le 328P, mosi, miso, sck et rst qui vont sur les pins 17,18,19 et 1(Pullup 10K, 5V)
Un crystal 16MHz avec des capa 22pF vers la masse.
Des capa 0.1uF de part et d'autre des lignes d'alimentation.

La programmation du bootloader semble fonctionner :
Sur le sketch ArduinoISP je programme de façon "classique" (AVRISP MkII, mon port com, l'arduino2560)
et ensuite, je sélectionne Arduino as ISP, "Arduino pro ou pro mini" et graver le bootloader et ça "semble" bien se passer.

Ensuite je prend le premier le sketch (blink) et je téléverse.
et là c'est le drame :

C:\Program Files (x86)\Arduino\arduino-builder -dump-prefs -logger=machine -hardware C:\Program Files (x86)\Arduino\hardware -

hardware C:\Users\Ludo\AppData\Local\Arduino15\packages -tools C:\Program Files (x86)\Arduino\tools-builder -tools C:\Program 

Files (x86)\Arduino\hardware\tools\avr -tools C:\Users\Ludo\AppData\Local\Arduino15\packages -built-in-libraries C:\Program Files 

(x86)\Arduino\libraries -libraries C:\Users\Ludo\Documents\Arduino\libraries -fqbn=arduino:avr:pro:cpu=16MHzatmega328 -vid-

pid=0X2341_0X0042 -ide-version=10804 -build-path C:\Users\Ludo\AppData\Local\Temp\arduino_build_210342 -warnings=none -build-cache 

C:\Users\Ludo\AppData\Local\Temp\arduino_cache_764523 -prefs=build.warn_data_percentage=75 -

prefs=runtime.tools.arduinoOTA.path=C:\Program Files (x86)\Arduino\hardware\tools\avr -prefs=runtime.tools.avrdude.path=C:\Program 

Files (x86)\Arduino\hardware\tools\avr -prefs=runtime.tools.avr-gcc.path=C:\Program Files (x86)\Arduino\hardware\tools\avr -

verbose C:\Program Files (x86)\Arduino\examples\01.Basics\Blink\Blink.ino
C:\Program Files (x86)\Arduino\arduino-builder -compile -logger=machine -hardware C:\Program Files (x86)\Arduino\hardware -

hardware C:\Users\Ludo\AppData\Local\Arduino15\packages -tools C:\Program Files (x86)\Arduino\tools-builder -tools C:\Program 

Files (x86)\Arduino\hardware\tools\avr -tools C:\Users\Ludo\AppData\Local\Arduino15\packages -built-in-libraries C:\Program Files 

(x86)\Arduino\libraries -libraries C:\Users\Ludo\Documents\Arduino\libraries -fqbn=arduino:avr:pro:cpu=16MHzatmega328 -vid-

pid=0X2341_0X0042 -ide-version=10804 -build-path C:\Users\Ludo\AppData\Local\Temp\arduino_build_210342 -warnings=none -build-cache 

C:\Users\Ludo\AppData\Local\Temp\arduino_cache_764523 -prefs=build.warn_data_percentage=75 -

prefs=runtime.tools.arduinoOTA.path=C:\Program Files (x86)\Arduino\hardware\tools\avr -prefs=runtime.tools.avrdude.path=C:\Program 

Files (x86)\Arduino\hardware\tools\avr -prefs=runtime.tools.avr-gcc.path=C:\Program Files (x86)\Arduino\hardware\tools\avr -

verbose C:\Program Files (x86)\Arduino\examples\01.Basics\Blink\Blink.ino
Using board 'pro' from platform in folder: C:\Program Files (x86)\Arduino\hardware\arduino\avr
Using core 'arduino' from platform in folder: C:\Program Files (x86)\Arduino\hardware\arduino\avr
Detecting libraries used...
"C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -

ffunction-sections -fdata-sections -fno-threadsafe-statics  -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -

DARDUINO=10804 -DARDUINO_AVR_PRO -DARDUINO_ARCH_AVR   "-IC:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino" "-IC:

\Program Files (x86)\Arduino\hardware\arduino\avr\variants\eightanaloginputs" "C:\Users\Ludo\AppData\Local\Temp

\arduino_build_210342\sketch\Blink.ino.cpp" -o "nul"
Generating function prototypes...
"C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -

ffunction-sections -fdata-sections -fno-threadsafe-statics  -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -

DARDUINO=10804 -DARDUINO_AVR_PRO -DARDUINO_ARCH_AVR   "-IC:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino" "-IC:

\Program Files (x86)\Arduino\hardware\arduino\avr\variants\eightanaloginputs" "C:\Users\Ludo\AppData\Local\Temp

\arduino_build_210342\sketch\Blink.ino.cpp" -o "C:\Users\Ludo\AppData\Local\Temp\arduino_build_210342\preproc

\ctags_target_for_gcc_minus_e.cpp"
"C:\Program Files (x86)\Arduino\tools-builder\ctags\5.8-arduino11/ctags" -u --language-force=c++ -f - --c++-kinds=svpf --

fields=KSTtzns --line-directives "C:\Users\Ludo\AppData\Local\Temp\arduino_build_210342\preproc\ctags_target_for_gcc_minus_e.cpp"
Compilation du croquis...
"C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -

ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -flto -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10804 -

DARDUINO_AVR_PRO -DARDUINO_ARCH_AVR   "-IC:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino" "-IC:\Program Files 

(x86)\Arduino\hardware\arduino\avr\variants\eightanaloginputs" "C:\Users\Ludo\AppData\Local\Temp\arduino_build_210342\sketch

\Blink.ino.cpp" -o "C:\Users\Ludo\AppData\Local\Temp\arduino_build_210342\sketch\Blink.ino.cpp.o"
Compiling libraries...
Compiling core...
Using precompiled core
Linking everything together...
"C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avr-gcc" -w -Os -g -flto -fuse-linker-plugin -Wl,--gc-sections -

mmcu=atmega328p  -o "C:\Users\Ludo\AppData\Local\Temp\arduino_build_210342/Blink.ino.elf" "C:\Users\Ludo\AppData\Local\Temp

\arduino_build_210342\sketch\Blink.ino.cpp.o" "C:\Users\Ludo\AppData\Local\Temp\arduino_build_210342/..\arduino_cache_764523\core

\core_arduino_avr_pro_cpu_16MHzatmega328_0c812875ac70eb4a9b385d8fb077f54c.a" "-LC:\Users\Ludo\AppData\Local\Temp

\arduino_build_210342" -lm
"C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avr-objcopy" -O ihex -j .eeprom --set-section-flags=.eeprom=alloc,load --

no-change-warnings --change-section-lma .eeprom=0  "C:\Users\Ludo\AppData\Local\Temp\arduino_build_210342/Blink.ino.elf" "C:

\Users\Ludo\AppData\Local\Temp\arduino_build_210342/Blink.ino.eep"
"C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avr-objcopy" -O ihex -R .eeprom  "C:\Users\Ludo\AppData\Local\Temp

\arduino_build_210342/Blink.ino.elf" "C:\Users\Ludo\AppData\Local\Temp\arduino_build_210342/Blink.ino.hex"
Le croquis utilise 928 octets (3%) de l'espace de stockage de programmes. Le maximum est de 30720 octets.
Les variables globales utilisent 9 octets (0%) de mémoire dynamique, ce qui laisse 2039 octets pour les variables locales. Le 

maximum est de 2048 octets.
C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avrdude -CC:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf 

-v -patmega328p -carduino -PCOM12 -b57600 -D -Uflash:w:C:\Users\Ludo\AppData\Local\Temp\arduino_build_210342/Blink.ino.hex:i 

avrdude: Version 6.3, compiled on Jan 17 2017 at 12:00:53
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2014 Joerg Wunsch

         System wide configuration file is "C:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf"

         Using Port                    : COM12
         Using Programmer              : arduino
         Overriding Baud Rate          : 57600
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0xe8
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0xe8
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x1c
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x1c
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x1c
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x1c
avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x1c
avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x1c
avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x1c
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x1c

avrdude done.  Thank you.

Problème de téléversement vers la carte. Voir http://www.arduino.cc/en/Guide/Troubleshooting#upload pour suggestions.

NB : J'ai essayé de programmer avec une board FTDI seule (RX TX DTR...) mais la réponse est similaire.
J'ai aussi essayé avec une capa de 100uF sur le reset de l'arduino en programmant blink.

En tant que newbee, ai-je fait une erreur grossière ?

Merci et bonne journée !

Bonjour,

Il faut programmer par le menu ‘Croquis’ ‘Téléverser avec un programmateur’ (il faut que le programme ArduinoISP soit toujours chargé).
Est ce que ce que tu as fait?

Ensuite je prend le premier le sketch (blink) et je téléverse.

avec quoi? Et cablé comment?

Dans l'IDE arduino pour graver le bootloader c'est avec l'ISP. ça semble être maitrisé.

Pour téléverser les programmes, c'est via le port com(x) et après avoir sélectionner la bonne carte ou via croquis/teléverser avec un programmateur comme le dit si bien Kamill.

Détail nous cette partie si tu veux de l'aide.

Bonjour,

oui, tout à fait, je n'ouvre blink qu'au dernier moment et laisse ouvert ArduinoISP, par contre je téléverse en étant sur la fenêtre de blink.

Merci

Effectivement je n'ai pas détaillé après le bootloading car je ne change pas la configuration. J'utilise la même que pour le bootloading : Les deux sketchs Blink et ArduinoISP ouverts et la configuration :
Arduino Pro or Pro Mini, ATmega328p 5V 16MHz, Port com 12, Arduino as ISP.
Je ne fait ensuite que téléverser à partir de la fenêtre blink et obtient le message d'erreur.

il faut

  • charger ArduinoISP le compiler et le transférer avec -> en haut à gauche
  • charger Blink et le compiler avec V toujours en haut à gauche (surtout ne pas essayer de transférer avec ->)
  • transféfer le programme blink avec 'Croquis' 'Téléverser avec un programmateur' (vérifier que c'est bien 'Arduino as ISP' qui est sélectionné comme programmateur)

Effectivement, ca change tout !
Ca semble bien programmer l'ATmega, j'ai le rapport suivant (je n'ai mis que la deuxième moitié):

avrdude: Version 6.3, compiled on Jan 17 2017 at 12:00:53
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2014 Joerg Wunsch

         System wide configuration file is "C:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf"

         Using Port                    : COM12
         Using Programmer              : stk500v1
         Overriding Baud Rate          : 19200
         AVR Part                      : ATmega328P
         Chip Erase delay              : 9000 us
         PAGEL                         : PD7
         BS2                           : PC2
         RESET disposition             : dedicated
         RETRY pulse                   : SCK
         serial program mode           : yes
         parallel program mode         : yes
         Timeout                       : 200
         StabDelay                     : 100
         CmdexeDelay                   : 25
         SyncLoops                     : 32
         ByteDelay                     : 0
         PollIndex                     : 3
         PollValue                     : 0x53
         Memory Detail                 :

                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           eeprom        65    20     4    0 no       1024    4      0  3600  3600 0xff 0xff
           flash         65     6   128    0 yes     32768  128    256  4500  4500 0xff 0xff
           lfuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           hfuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           efuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           lock           0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           calibration    0     0     0    0 no          1    0      0     0     0 0x00 0x00
           signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00

         Programmer Type : STK500
         Description     : Atmel STK500 Version 1.x firmware
         Hardware Version: 2
         Firmware Version: 1.18
         Topcard         : Unknown
         Vtarget         : 0.0 V
         Varef           : 0.0 V
         Oscillator      : Off
         SCK period      : 0.1 us

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.02s

avrdude: Device signature = 0x1e950f (probably m328p)
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 "C:\Users\Ludo\AppData\Local\Temp\arduino_build_587003/Blink.ino.hex"
avrdude: writing flash (938 bytes):

Writing | ################################################## | 100% 1.11s

avrdude: 938 bytes of flash written
avrdude: verifying flash memory against C:\Users\Ludo\AppData\Local\Temp\arduino_build_587003/Blink.ino.hex:
avrdude: load data flash data from input file C:\Users\Ludo\AppData\Local\Temp\arduino_build_587003/Blink.ino.hex:
avrdude: input file C:\Users\Ludo\AppData\Local\Temp\arduino_build_587003/Blink.ino.hex contains 938 bytes
avrdude: reading on-chip flash data:

Reading | ################################################## | 100% 0.63s

avrdude: verifying ...
avrdude: 938 bytes of flash verified

avrdude done.  Thank you.

Mais finalement, il m'est impossible de faire clignoter une led. Elle fonctionne correctement (et est dans le bon sens), anode vers le pin 13 derrière une résistance de 470ohms, cathode sur la masse.

Comment être certain que l'ATmega est bien chargé !!?

Merci encore

Je dirai que si avrdude dit que c'est ok, il y a 99.9999% de chances que ce soit effectivement OK

Tu es sur que ta led est bien connectée sur la bonne pin?

Je pense toujours à une erreur de ma part en premier lieu, c'est souvent le cas... :confused:
Et... c'était le cas, j'ai confondu numéro de broche du microcontrôleur et numéro de sortie digitale...
Ça fonctionne, vous êtes des chefs !

Un grand MERCI à tous ! :slight_smile: