makefile et avrdude ... stk500_recv(): programmer is not responding [resolu]

salut les gens, je suis nouveau sur ce forum et dans le monde arduino (comme ça, si je fais une erreur de débutant, j'ai une excuse ;) )

Si je viens a vous aujourd'hui, c'est parce que j'essaye de me détacher de l'IDE arduino ... pour ça, j'ai prit pas trop compliqué : le bon vieux blink.pde, et dans le même dossier, j'ai écrit le makefile suivant :

ARDUINO_DIR = /usr/share/arduino
AVR_TOOLS_PATH = /usr/bin
TARGET = blink
MCU = atmega328p
F_CPU = 16000000
ARDUINO_PORT = /dev/ttyACM0
AVRDUDE_ARD_PROGRAMMER = arduino
AVRDUDE_ARD_BAUDRATE = 57600
include /usr/share/arduino/Arduino.mk

l'execution de make se passe sans soucis, mais un make raw_upload (pour envoyer le code dans le module) me renvoie ça :

/usr/bin/avrdude -q -V -p atmega328p -C /etc/avrdude.conf -c arduino -b 57600 -P /dev/ttyACM0  \
            -U flash:w:build-cli/blink.hex:i
avrdude: stk500_recv(): programmer is not responding

avrdude done.  Thank you.

make: *** [raw_upload] Erreur 1

hors, je vois pas trop où ce situe le soucis ... si quelqu'un pouvait me donner un petit coup de pouce, ça serait pas de refus ;) note, au cas où : ma board est une arduino uno.

Bonjour, Tente de rebrancher l'arduino voir de reboot le pc et vérifie bien ta version de avr-gcc le mieux est de prendre celle avec l'ide (pour avoir la meilleur gestion possible du bootloader)

Sinon : http://www.arduino.cc/playground/OpenBSD/CLI https://github.com/takanuva/arduino-makefile

skywodd: Bonjour, Tente de rebrancher l'arduino voir de reboot le pc et vérifie bien ta version de avr-gcc le mieux est de prendre celle avec l'ide (pour avoir la meilleur gestion possible du bootloader)

Sinon : http://www.arduino.cc/playground/OpenBSD/CLI https://github.com/takanuva/arduino-makefile

débrachage/reboot => aucun effet ...

premier lien : j'ai tester make upload et sudo make upload : aucune différence. second lien : j'ai essayer de modifier mon makefile en prenant le modéle de celui proposé ... toujours aucune difference.

néanmoins, merci de cette reponse rapide ;) [note] : au cas ou ... tout se passe a merveille via l'IDE, donc je vois pas pourquoi ça pose probleme via makefile =(

khrogos: débrachage/reboot => aucun effet ...

premier lien : j'ai tester make upload et sudo make upload : aucune différence. second lien : j'ai essayer de modifier mon makefile en prenant le modéle de celui proposé ... toujours aucune difference.

néanmoins, merci de cette reponse rapide ;) [note] : au cas ou ... tout se passe a merveille via l'IDE, donc je vois pas pourquoi ça pose probleme via makefile =(

:astonished: ya un truc pas nette ! Port série ok ? Vitesse upload ok ? Version avr-gcc ok ? Dossier lib ok ?

Envoi le retour de make histoire de voir d'ou vient cette erreur.

TARGET = ${.CURDIR:C/.*\///g}
INSTALL_DIR = /usr/share/arduino
AVR_TOOLS_PATH = /usr/bin
PORT = /dev/ttyACM0
UPLOAD_RATE = 57600
AVRDUDE_PROGRAMMER = arduino
AVRDUDE_ARD_BAUDRATE = 57600
MCU = atmega328p
F_CPU = 16000000

Ps: arduino avec atmega8u2 (UNO & mega2560) ou ftdi (toute les autres) pour le port série ? Regarde le fichier boards.txt dans /usr/share/arduino/hardware il contient toute les variable de build.

bon, en parallele, j’ai essaye de refaire blink totalement en C, et donc avec un autre makeFile, et cette fois, ça marche,donc a mon avis, j’ai merdé avec le makefile et l’appel a avrdude et nullepart ailleurs … (enfin, c’est ce que je comprend :wink: )

pour repondre a tes question : tout ok et atmega8u2 pour le port série.

make ne revoie pas d’erreur, seul make raw_upload ne veux pas ce faire …

au cas ou, la sortie du make

??[periplasme@~/sketchbook/blink]
??> make
/usr/share/arduino/Arduino.mk:394: build-cli/depends.mk: Aucun fichier ou dossier de ce type
echo \#include \"WProgram.h\" > build-cli/blink.cpp
cat  blink.pde >> build-cli/blink.cpp
/usr/bin/avr-g++ -MM -mmcu=atmega328p -DF_CPU=16000000 -I. -I/usr/share/arduino/hardware/arduino/cores/arduino  -g -Os -w -Wall -ffunction-sections -fdata-sections -fno-exceptions build-cli/blink.cpp -MF build-cli/blink.d -MT build-cli/blink.o
cat build-cli/blink.d > build-cli/depends.mk
rm build-cli/blink.cpp
echo \#include \"WProgram.h\" > build-cli/blink.cpp
cat  blink.pde >> build-cli/blink.cpp
/usr/bin/avr-g++ -c -mmcu=atmega328p -DF_CPU=16000000 -I. -I/usr/share/arduino/hardware/arduino/cores/arduino  -g -Os -w -Wall -ffunction-sections -fdata-sections -fno-exceptions build-cli/blink.cpp -o build-cli/blink.o
/usr/bin/avr-gcc -c -mmcu=atmega328p -DF_CPU=16000000 -I. -I/usr/share/arduino/hardware/arduino/cores/arduino  -g -Os -w -Wall -ffunction-sections -fdata-sections -std=gnu99 /usr/share/arduino/hardware/arduino/cores/arduino/pins_arduino.c -o build-cli/pins_arduino.o
/usr/bin/avr-gcc -c -mmcu=atmega328p -DF_CPU=16000000 -I. -I/usr/share/arduino/hardware/arduino/cores/arduino  -g -Os -w -Wall -ffunction-sections -fdata-sections -std=gnu99 /usr/share/arduino/hardware/arduino/cores/arduino/WInterrupts.c -o build-cli/WInterrupts.o
/usr/bin/avr-gcc -c -mmcu=atmega328p -DF_CPU=16000000 -I. -I/usr/share/arduino/hardware/arduino/cores/arduino  -g -Os -w -Wall -ffunction-sections -fdata-sections -std=gnu99 /usr/share/arduino/hardware/arduino/cores/arduino/wiring_analog.c -o build-cli/wiring_analog.o
/usr/bin/avr-gcc -c -mmcu=atmega328p -DF_CPU=16000000 -I. -I/usr/share/arduino/hardware/arduino/cores/arduino  -g -Os -w -Wall -ffunction-sections -fdata-sections -std=gnu99 /usr/share/arduino/hardware/arduino/cores/arduino/wiring.c -o build-cli/wiring.o
/usr/bin/avr-gcc -c -mmcu=atmega328p -DF_CPU=16000000 -I. -I/usr/share/arduino/hardware/arduino/cores/arduino  -g -Os -w -Wall -ffunction-sections -fdata-sections -std=gnu99 /usr/share/arduino/hardware/arduino/cores/arduino/wiring_digital.c -o build-cli/wiring_digital.o
/usr/bin/avr-gcc -c -mmcu=atmega328p -DF_CPU=16000000 -I. -I/usr/share/arduino/hardware/arduino/cores/arduino  -g -Os -w -Wall -ffunction-sections -fdata-sections -std=gnu99 /usr/share/arduino/hardware/arduino/cores/arduino/wiring_pulse.c -o build-cli/wiring_pulse.o
/usr/bin/avr-gcc -c -mmcu=atmega328p -DF_CPU=16000000 -I. -I/usr/share/arduino/hardware/arduino/cores/arduino  -g -Os -w -Wall -ffunction-sections -fdata-sections -std=gnu99 /usr/share/arduino/hardware/arduino/cores/arduino/wiring_shift.c -o build-cli/wiring_shift.o
/usr/bin/avr-g++ -c -mmcu=atmega328p -DF_CPU=16000000 -I. -I/usr/share/arduino/hardware/arduino/cores/arduino  -g -Os -w -Wall -ffunction-sections -fdata-sections -fno-exceptions /usr/share/arduino/hardware/arduino/cores/arduino/HardwareSerial.cpp -o build-cli/HardwareSerial.o
/usr/bin/avr-g++ -c -mmcu=atmega328p -DF_CPU=16000000 -I. -I/usr/share/arduino/hardware/arduino/cores/arduino  -g -Os -w -Wall -ffunction-sections -fdata-sections -fno-exceptions /usr/share/arduino/hardware/arduino/cores/arduino/main.cpp -o build-cli/main.o
/usr/bin/avr-g++ -c -mmcu=atmega328p -DF_CPU=16000000 -I. -I/usr/share/arduino/hardware/arduino/cores/arduino  -g -Os -w -Wall -ffunction-sections -fdata-sections -fno-exceptions /usr/share/arduino/hardware/arduino/cores/arduino/Print.cpp -o build-cli/Print.o
/usr/bin/avr-g++ -c -mmcu=atmega328p -DF_CPU=16000000 -I. -I/usr/share/arduino/hardware/arduino/cores/arduino  -g -Os -w -Wall -ffunction-sections -fdata-sections -fno-exceptions /usr/share/arduino/hardware/arduino/cores/arduino/Tone.cpp -o build-cli/Tone.o
/usr/bin/avr-g++ -c -mmcu=atmega328p -DF_CPU=16000000 -I. -I/usr/share/arduino/hardware/arduino/cores/arduino  -g -Os -w -Wall -ffunction-sections -fdata-sections -fno-exceptions /usr/share/arduino/hardware/arduino/cores/arduino/WMath.cpp -o build-cli/WMath.o
/usr/bin/avr-g++ -c -mmcu=atmega328p -DF_CPU=16000000 -I. -I/usr/share/arduino/hardware/arduino/cores/arduino  -g -Os -w -Wall -ffunction-sections -fdata-sections -fno-exceptions /usr/share/arduino/hardware/arduino/cores/arduino/WString.cpp -o build-cli/WString.o
/usr/bin/avr-gcc -mmcu=atmega328p -lm -Wl,--gc-sections -Os -o build-cli/blink.elf build-cli/blink.o  build-cli/pins_arduino.o  build-cli/WInterrupts.o  build-cli/wiring_analog.o  build-cli/wiring.o  build-cli/wiring_digital.o  build-cli/wiring_pulse.o  build-cli/wiring_shift.o  build-cli/HardwareSerial.o  build-cli/main.o  build-cli/Print.o  build-cli/Tone.o  build-cli/WMath.o  build-cli/WString.o 
/usr/bin/avr-objcopy -O ihex -R .eeprom build-cli/blink.elf build-cli/blink.hex

humm effectivement de toute évidence c'est la commande avrdude qui plante, aucun probléme coté make.

Tente un upload à la main du .hex avrdude -C/usr/share/arduino/hardware/tools/avrdude.conf -p atmega328p -c arduino -P/dev/ttyUSB0 -b19200 -D -Uflash:w:blink.hex

change le port série par ce qui va bien et presse reset sur ton arduino en lançant la commande.

toujours la même erreur ! :fearful:

Mais j'ai trouvé ! c'est l'option -b qui merde ! en la passant a 115200 dans ta commande, ça tourne ! alors que sinon, programmer not responding ! dans mon makefile j'ai donc passer AVRDUDE_ARD_BAUDRATE a 115200, et le probleme est résolu !

mais bon, même si j'ai des connaissance, ça reste un peu obscur pour moi ... si tu as une explication, je suis preneur !

note : cette valeur, je l'ai lu dans le magazine openSilicium (dossier arduino) au cas ou tu te demanderais d'où je la sort ;)

khrogos:
toujours la même erreur ! :fearful:

Mais j’ai trouvé ! c’est l’option -b qui merde !
en la passant a 115200 dans ta commande, ça tourne ! alors que sinon, programmer not responding !
dans mon makefile j’ai donc passer AVRDUDE_ARD_BAUDRATE a 115200, et le probleme est résolu !

mais bon, même si j’ai des connaissance, ça reste un peu obscur pour moi … si tu as une explication, je suis preneur !

/facepalm j’ai compris :sweat_smile:
Comme tu la dit tu as une carte arduino avec un atmega8u2, la vitesse du bootloader série n’est pas de 19200 bauds comme sur les deci… mais de 115200 (point fort de l’UNO, upload plus rapide, point fort qui ici posé probléme).

merci pour cette explication :) et au plaisir de se recroisé sur un autre sujet ;)