diff --git a/boards/arduino-duemilanove/Makefile.include b/boards/arduino-duemilanove/Makefile.include index bee615c10c..96b667a44c 100644 --- a/boards/arduino-duemilanove/Makefile.include +++ b/boards/arduino-duemilanove/Makefile.include @@ -10,8 +10,6 @@ BAUD ?= 9600 # using avrdude. Can be overridden for debugging (which requires changes # that require to use an ISP) PROGRAMMER ?= arduino -# set mcu model for avrdude -FFLAGS += -p m328p # configure programmer speed in baud FFLAGS_EXTRA += -b 57600 diff --git a/boards/arduino-mega2560/Makefile.include b/boards/arduino-mega2560/Makefile.include index 676e8dc12d..748d6f5f7f 100644 --- a/boards/arduino-mega2560/Makefile.include +++ b/boards/arduino-mega2560/Makefile.include @@ -12,8 +12,6 @@ BAUD ?= 9600 # using avrdude. Can be overridden for debugging (which requires changes # that require to use an ISP) PROGRAMMER ?= stk500v2 -# set mcu model for avrdude -FFLAGS += -p m2560 # configure programmer speed in baud FFLAGS_EXTRA += -b 115200 diff --git a/boards/arduino-uno/Makefile.include b/boards/arduino-uno/Makefile.include index b1b43b2d46..fa61f17fe4 100644 --- a/boards/arduino-uno/Makefile.include +++ b/boards/arduino-uno/Makefile.include @@ -10,8 +10,6 @@ BAUD ?= 9600 # using avrdude. Can be overridden for debugging (which requires changes # that require to use an ISP) PROGRAMMER ?= arduino -# set mcu model for avrdude -FFLAGS += -p m328p # configure programmer speed in baud FFLAGS_EXTRA += -b 115200 diff --git a/boards/jiminy-mega256rfr2/Makefile.include b/boards/jiminy-mega256rfr2/Makefile.include index 662e9840d4..5806ad6ec0 100644 --- a/boards/jiminy-mega256rfr2/Makefile.include +++ b/boards/jiminy-mega256rfr2/Makefile.include @@ -15,8 +15,6 @@ include $(RIOTMAKE)/tools/serial.inc.mk # using avrdude. Can be overridden for debugging (which requires changes # that require to use an ISP) PROGRAMMER ?= wiring -# set mcu model for avrdude (mandatory) -FFLAGS += -p atmega256rfr2 # Serial Baud rate for flasher is configured to 500kBaud # see /usr/include/asm-generic/termbits.h for availabel baudrates on your linux system FFLAGS_EXTRA += -b 0010005 diff --git a/boards/mega-xplained/Makefile.include b/boards/mega-xplained/Makefile.include index 391a7b18b1..228b9b2e30 100644 --- a/boards/mega-xplained/Makefile.include +++ b/boards/mega-xplained/Makefile.include @@ -14,8 +14,6 @@ include $(RIOTMAKE)/tools/serial.inc.mk # PROGRAMMER defaults to the external flasher Bus Pirate ISP using avrdude. PROGRAMMER ?= buspirate -# set mcu model for avrdude -FFLAGS += -p m1284p # set serial port for avrdude with buspirate ifeq ($(OS),Linux) AVRDUDE_PORT ?= /dev/ttyUSB0 diff --git a/boards/waspmote-pro/Makefile.include b/boards/waspmote-pro/Makefile.include index d77fafb540..9bd9d495a4 100644 --- a/boards/waspmote-pro/Makefile.include +++ b/boards/waspmote-pro/Makefile.include @@ -17,8 +17,6 @@ include $(RIOTMAKE)/tools/serial.inc.mk # using avrdude. Can be overridden for debugging (which requires changes # that require to use an ISP) PROGRAMMER ?= stk500v1 -# set mcu model for avrdude -FFLAGS += -p m1281 # configure programmer speed in baud FFLAGS_EXTRA += -b 115200 # avoid error if mcu signature doesn't match diff --git a/makefiles/tools/avrdude.inc.mk b/makefiles/tools/avrdude.inc.mk index b45c685f48..8cde4f33fd 100644 --- a/makefiles/tools/avrdude.inc.mk +++ b/makefiles/tools/avrdude.inc.mk @@ -6,10 +6,16 @@ DEBUGSERVER_FLAGS = "-g -j usb :$(DEBUGSERVER_PORT)" DEBUGGER_FLAGS = "-x $(RIOTBOARD)/$(BOARD)/dist/gdb.conf $(ELFFILE)" DEBUGGER = $(DIST_PATH)/debug.sh $(DEBUGSERVER_FLAGS) $(DIST_PATH) $(DEBUGSERVER_PORT) -# make the flasher port configurable (e.g. with atmelice the port is usb) -# defaults to terminal's serial port if not configured -AVRDUDE_PORT ?= $(PORT) -PROGRAMMER_FLAGS = -P $(AVRDUDE_PORT) $(FFLAGS_EXTRA) +PROGRAMMER_FLAGS = -p $(subst atmega,m,$(CPU)) + +# Set flasher port only for programmers that require it +ifneq (,$(filter $(PROGRAMMER),arduino buspirate stk500v1 stk500v2 wiring)) + # make the flasher port configurable (e.g. with atmelice the port is usb) + # defaults to terminal's serial port if not configured + AVRDUDE_PORT ?= $(PORT) + PROGRAMMER_FLAGS += -P $(AVRDUDE_PORT) +endif +PROGRAMMER_FLAGS += $(FFLAGS_EXTRA) # don't force to flash HEXFILE, but set it as default FLASHFILE ?= $(HEXFILE)