#\r
\r
LUFA_BUILD_MODULES += AVRDUDE\r
-LUFA_BUILD_TARGETS += program\r
+LUFA_BUILD_TARGETS += program program-ee\r
LUFA_BUILD_MANDATORY_VARS += MCU TARGET\r
LUFA_BUILD_OPTIONAL_VARS += AVRDUDE_PROGRAMMER AVRDUDE_PORT AVRDUDE_FLAGS\r
\r
# -----------------------------------------------------------------------------\r
-# LUFA DFU Bootloader Buildsystem Makefile Module.\r
+# LUFA AVRDUDE Programmer Buildsystem Makefile Module.\r
# -----------------------------------------------------------------------------\r
# DESCRIPTION:\r
# Provides a set of targets to re-program a device using the open source\r
# -----------------------------------------------------------------------------\r
# TARGETS:\r
#\r
-# program - Program target with application using avr-dude\r
+# program - Program target FLASH with application using\r
+# avrdude\r
+# program-ee - Program target EEPROM with application data\r
+# using avrdude\r
#\r
# MANDATORY PARAMETERS:\r
#\r
#\r
# -----------------------------------------------------------------------------\r
\r
-# Output Messages\r
-MSG_AVRDUDE_CMD = ' [AVRDUDE] :'\r
+# Sanity-check values of mandatory user-supplied variables\r
+MCU ?= $(error Makefile MCU value not set.)\r
+TARGET ?= $(error Makefile TARGET value not set.)\r
+\r
+# Default values of optionally user-supplied variables\r
+AVRDUDE_PROGRAMMER ?= jtagicemkii\r
+AVRDUDE_PORT ?= usb\r
+AVRDUDE_FLAGS ?= \r
\r
-# Default values of user-supplied variables\r
-AVRDUDE_PROGRAMMER ?= jtagicemkii\r
-AVRDUDE_PORT ?= usb\r
-AVRDUDE_FLAGS ?= -U flash:w:$(TARGET).hex\r
+# Output Messages\r
+MSG_AVRDUDE_CMD := ' [AVRDUDE] :'\r
\r
-# Sanity check the user MCU and TARGET makefile options\r
-ifeq ($(MCU),)\r
- $(error Makefile MCU value not set.)\r
-endif\r
-ifeq ($(TARGET),)\r
- $(error Makefile TARGET value not set.)\r
-endif\r
+AVRDUDE_FLASH_FLAGS = -U flash:w:$< $(AVRDUDE_FLAGS)\r
+AVRDUDE_EEP_FLAGS = -U eeprom:w:$< $(AVRDUDE_FLAGS)\r
\r
program: $(TARGET).hex\r
- @echo $(MSG_AVRDUDE_CMD) Programming device \"$(MCU)\" with settings \"$(AVRDUDE_FLAGS)\" using \"$(AVRDUDE_PROGRAMMER)\" on port \"$(AVRDUDE_PORT)\"\r
- avrdude -p $(MCU) -P $(AVRDUDE_PORT) -c $(AVRDUDE_PROGRAMMER) $(AVRDUDE_FLAGS)\r
+ @echo $(MSG_AVRDUDE_CMD) Programming device \"$(MCU)\" with settings \"$(AVRDUDE_FLASH_FLAGS)\" using \"$(AVRDUDE_PROGRAMMER)\" on port \"$(AVRDUDE_PORT)\"\r
+ avrdude -p $(MCU) -P $(AVRDUDE_PORT) -c $(AVRDUDE_PROGRAMMER) $(AVRDUDE_FLASH_FLAGS)\r
+\r
+program-ee: $(TARGET).eep\r
+ @echo $(MSG_AVRDUDE_CMD) Programming device \"$(MCU)\" with settings \"$(AVRDUDE_EEP_FLAGS)\" using \"$(AVRDUDE_PROGRAMMER)\" on port \"$(AVRDUDE_PORT)\"\r
+ avrdude -p $(MCU) -P $(AVRDUDE_PORT) -c $(AVRDUDE_PROGRAMMER) $(AVRDUDE_EEP_FLAGS)\r