Added AVRDUDE_MEMORY option to the AVRDUDE build system module (thanks to Alex Ferm).
authorDean Camera <dean@fourwalledcubicle.com>
Sun, 7 Feb 2016 05:15:29 +0000 (16:15 +1100)
committerDean Camera <dean@fourwalledcubicle.com>
Sun, 7 Feb 2016 05:15:29 +0000 (16:15 +1100)
LUFA/Build/lufa_avrdude.mk
LUFA/DoxygenPages/BuildSystem.txt

index 04ce012..d035e07 100644 (file)
@@ -9,7 +9,7 @@
 LUFA_BUILD_MODULES         += AVRDUDE
 LUFA_BUILD_TARGETS         += avrdude avrdude-ee
 LUFA_BUILD_MANDATORY_VARS  += MCU TARGET
-LUFA_BUILD_OPTIONAL_VARS   += AVRDUDE_PROGRAMMER AVRDUDE_PORT AVRDUDE_FLAGS
+LUFA_BUILD_OPTIONAL_VARS   += AVRDUDE_PROGRAMMER AVRDUDE_PORT AVRDUDE_FLAGS AVRDUDE_MEMORY
 LUFA_BUILD_PROVIDED_VARS   +=
 LUFA_BUILD_PROVIDED_MACROS +=
 
@@ -37,6 +37,8 @@ LUFA_BUILD_PROVIDED_MACROS +=
 #    AVRDUDE_PROGRAMMER        - Name of programming hardware to use
 #    AVRDUDE_PORT              - Name of communication port to use
 #    AVRDUDE_FLAGS             - Flags to pass to avr-dude
+#    AVRDUDE_MEMORY            - Memory space to program application into (e.g.
+#                                "application" for an XMEGA DFU device)
 #
 # PROVIDED VARIABLES:
 #
@@ -58,6 +60,7 @@ ERROR_IF_NONBOOL ?= $(if $(filter Y N, $($(strip $(1)))), , $(error Makefile $(s
 AVRDUDE_PROGRAMMER ?= jtagicemkii
 AVRDUDE_PORT       ?= usb
 AVRDUDE_FLAGS      ?=
+AVRDUDE_MEMORY     ?= flash
 
 # Sanity check user supplied values
 $(foreach MANDATORY_VAR, $(LUFA_BUILD_MANDATORY_VARS), $(call ERROR_IF_UNSET, $(MANDATORY_VAR)))
@@ -75,7 +78,7 @@ BASE_AVRDUDE_FLAGS := -p $(MCU) -P $(AVRDUDE_PORT) -c $(AVRDUDE_PROGRAMMER)
 # Programs in the target FLASH memory using AVRDUDE
 avrdude: $(TARGET).hex $(MAKEFILE_LIST)
        @echo $(MSG_AVRDUDE_CMD) Programming device \"$(MCU)\" FLASH using \"$(AVRDUDE_PROGRAMMER)\" on port \"$(AVRDUDE_PORT)\"
-       avrdude $(BASE_AVRDUDE_FLAGS) -U flash:w:$< $(AVRDUDE_FLAGS)
+       avrdude $(BASE_AVRDUDE_FLAGS) -U $(AVRDUDE_MEMORY):w:$< $(AVRDUDE_FLAGS)
 
 # Programs in the target EEPROM memory using AVRDUDE
 avrdude-ee: $(TARGET).eep $(MAKEFILE_LIST)
index 7ddfa1b..e06727e 100644 (file)
  *    <td><tt>AVRDUDE_FLAGS</tt></td>\r
  *    <td>Additional flags to pass to avrdude when programming, applied after the automatically generated flags.</td>\r
  *   </tr>\r
+ *   <tr>\r
+ *    <td><tt>AVRDUDE_MEMORY</tt></td>\r
+ *    <td>Main memory space used when programming in an application *e.g. <tt>application</tt> for a DFU bootloader, or <tt>flash</tt> for a regular programmer).</td>\r
+ *   </tr>\r
  *  </table>\r
  *\r
  *  \section SSec_BuildModule_AVRDUDE_ProvidedVariables Module Provided Variables\r