aboutsummaryrefslogtreecommitdiffstats
path: root/LUFA/Build
diff options
context:
space:
mode:
authorDean Camera <dean@fourwalledcubicle.com>2012-06-06 19:10:52 +0000
committerDean Camera <dean@fourwalledcubicle.com>2012-06-06 19:10:52 +0000
commit511348fb13e24689d7a463973a17baa168fb382b (patch)
tree0616d71a2103ba6407376dbc4f9edcd4289f18cc /LUFA/Build
parentfab1678602ff0e560a4bd9a1ba6b5db6f3872732 (diff)
downloadlufa-511348fb13e24689d7a463973a17baa168fb382b.tar.gz
lufa-511348fb13e24689d7a463973a17baa168fb382b.tar.bz2
lufa-511348fb13e24689d7a463973a17baa168fb382b.zip
Improve ATPROGRAM build module to support UC3 devices and use intelligent erase for XMEGA and UC3.
Diffstat (limited to 'LUFA/Build')
-rw-r--r--LUFA/Build/lufa.atprogram.in22
1 files changed, 18 insertions, 4 deletions
diff --git a/LUFA/Build/lufa.atprogram.in b/LUFA/Build/lufa.atprogram.in
index f42354c19..48d1e5c1f 100644
--- a/LUFA/Build/lufa.atprogram.in
+++ b/LUFA/Build/lufa.atprogram.in
@@ -63,13 +63,27 @@ ifneq ($(ATPROGRAM_PORT),)
BASE_ATPROGRAM_FLAGS += --port $(ATPROGRAM_PORT)
endif
-atprogram: $(TARGET).hex $(MAKEFILE_LIST)
+# Construct the flags to use for the various memory spaces
+ifeq ($(ARCH), AVR8)
+ ATPROGRAM_FLASH_FLAGS := --chiperase --flash
+ ATPROGRAM_EEPROM_FLAGS := --eeprom
+else ifeq ($(ARCH), XMEGA)
+ ATPROGRAM_FLASH_FLAGS := --erase --flash
+ ATPROGRAM_EEPROM_FLAGS := --eeprom
+else ifeq ($(ARCH), UC3)
+ ATPROGRAM_FLASH_FLAGS := --erase
+ ATPROGRAM_EEPROM_FLAGS := --eeprom
+else
+ $(error Unsupported architecture "$(ARCH)")
+endif
+
+atprogram: $(TARGET).elf $(MAKEFILE_LIST)
@echo $(MSG_ATPROGRAM_CMD) Programming device \"$(MCU)\" FLASH using \"$(ATPROGRAM_PROGRAMMER)\"
- atprogram $(BASE_ATPROGRAM_FLAGS) program --chiperase --flash --file $(TARGET).hex
+ atprogram $(BASE_ATPROGRAM_FLAGS) program $(ATPROGRAM_FLASH_FLAGS) --file $<
-atprogram-ee: $(TARGET).eep $(MAKEFILE_LIST)
+atprogram-ee: $(TARGET).elf $(MAKEFILE_LIST)
@echo $(MSG_ATPROGRAM_CMD) Programming device \"$(MCU)\" EEPROM using \"$(ATPROGRAM_PROGRAMMER)\"
- atprogram $(BASE_ATPROGRAM_FLAGS) program --eeprom --file $(TARGET).eep
+ atprogram $(BASE_ATPROGRAM_FLAGS) program $(ATPROGRAM_EEPROM_FLAGS) --file $<
# Phony build targets for this module
.PHONY: atprogram atprogram-ee