avrdude错误:不同步

时间:2014-12-12 16:27:36

标签: makefile arduino avrdude

我在将一个简单的hello world程序上传到我的Arduino Mega 2560时遇到了问题。我检查了它是否可以在使用IDE时工作,而且确实如此。但是,我不想使用IDE。 (顺便说一句,我必须chmod a+rw /dev/ttyACM0才能让它发挥作用。)

错误是众所周知的,并在网上进行了很多讨论。到目前为止我找到的解决方案都没有适用于我,因为我使用的是makefile而不是IDE,而且我使用的是Linux。 Makefile我使用:

ARDUINO_DIR            = /usr/share/arduino
TARGET                 = test
ARDUINO_LIBS           =
MCU                    = atmega2560
F_CPU                  = 16000000
ARDUINO_PORT           = /dev/ttyACM0
AVRDUDE_ARD_BAUDRATE   = 115200
AVRDUDE_ARD_PROGRAMMER = arduino

include /usr/share/arduino/Arduino.mk

源编译很好,但在上传阶段,avrdude抱怨:

/usr/share/arduino/hardware/tools/avr/../avrdude -q -V -D -p atmega2560 -C /usr/share 
/arduino/hardware/tools/avr/../avrdude.conf -c arduino -b 115200 -P /dev/ttyACM0 \
        -U flash:w:build-uno/test.hex:i
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x00

我认为这是错误地设置标志的简单问题。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

  

AVRDUDE_ARD_PROGRAMMER = arduino

Arduino MEGA(atmega2560)使用与Uno不同的引导加载程序,并且需要不同的程序员类型。改变" arduino"到"接线" (或" stk500v2")