aboutsummaryrefslogtreecommitdiff
path: root/Arduino.mk
diff options
context:
space:
mode:
authorSudar <sudar@sudarmuthu.com>2015-06-02 12:19:07 +0530
committerSudar <sudar@sudarmuthu.com>2015-06-02 12:19:07 +0530
commit9629867ced8fe1bf4d2fbc5eec541955d7580060 (patch)
tree2eefe82e2ace4074a06056b613251bdf712fa033 /Arduino.mk
parent7b11860ba8f590ceba1fa46dddf45d8d8b6d6c95 (diff)
parent1dce271b53d68428bd15a06068b11fc4e0c724ee (diff)
Merge branch 'hhgarnes-patch-2'
Diffstat (limited to 'Arduino.mk')
-rw-r--r--Arduino.mk16
1 files changed, 14 insertions, 2 deletions
diff --git a/Arduino.mk b/Arduino.mk
index 20dc68d..936645a 100644
--- a/Arduino.mk
+++ b/Arduino.mk
@@ -1282,13 +1282,22 @@ ifndef AVRDUDE_OPTS
AVRDUDE_OPTS = -q -V
endif
-AVRDUDE_COM_OPTS = $(AVRDUDE_OPTS) -p $(MCU)
+# Decouple the mcu between the compiler options (-mmcu) and the avrdude options (-p).
+# This is needed to be able to compile for attiny84a but specify the upload mcu as attiny84.
+# We default to picking the -mmcu flag, but you can override this by setting
+# AVRDUDE_MCU in your makefile.
+ifndef AVRDUDE_MCU
+ AVRDUDE_MCU = $(MCU)
+endif
+
+AVRDUDE_COM_OPTS = $(AVRDUDE_OPTS) -p $(AVRDUDE_MCU)
ifdef AVRDUDE_CONF
AVRDUDE_COM_OPTS += -C $(AVRDUDE_CONF)
endif
# -D - Disable auto erase for flash memory
-# (-D is needed for Mega boards. See https://github.com/sudar/Arduino-Makefile/issues/114#issuecomment-25011005)
+# Note: -D is needed for Mega boards.
+# (See https://github.com/sudar/Arduino-Makefile/issues/114#issuecomment-25011005)
AVRDUDE_ARD_OPTS = -D -c $(AVRDUDE_ARD_PROGRAMMER) -b $(AVRDUDE_ARD_BAUDRATE) -P
ifeq ($(CURRENT_OS), WINDOWS)
# get_monitor_port checks to see if the monitor port exists, assuming it is
@@ -1353,6 +1362,9 @@ ifndef AVRDUDE_ISP_FUSES_POST
endif
endif
+# Note: setting -D to disable flash erase before programming may cause issues
+# with some boards like attiny84a, making the program not "take",
+# so we do not set it by default.
AVRDUDE_ISP_OPTS = -c $(ISP_PROG) -b $(AVRDUDE_ISP_BAUDRATE)
ifndef $(ISP_PORT)