diff options
author | Dean Camera <dean@fourwalledcubicle.com> | 2012-06-26 17:54:04 +0000 |
---|---|---|
committer | Dean Camera <dean@fourwalledcubicle.com> | 2012-06-26 17:54:04 +0000 |
commit | c9ba8f2a2c8adbac38fd60e8c53ad9b2445542fc (patch) | |
tree | b622a8aa4be4cb90b350aa8cefd011747f8c7c0e /Bootloaders/DFU | |
parent | 80fab49e1dafaa4eaefd14a34245888bf9ee3804 (diff) | |
download | lufa-c9ba8f2a2c8adbac38fd60e8c53ad9b2445542fc.tar.gz lufa-c9ba8f2a2c8adbac38fd60e8c53ad9b2445542fc.tar.bz2 lufa-c9ba8f2a2c8adbac38fd60e8c53ad9b2445542fc.zip |
Clean up bootloader makefiles to make them a bit more readable.
Diffstat (limited to 'Bootloaders/DFU')
-rw-r--r-- | Bootloaders/DFU/makefile | 38 |
1 files changed, 20 insertions, 18 deletions
diff --git a/Bootloaders/DFU/makefile b/Bootloaders/DFU/makefile index 3ee61fc8d..cc072f452 100644 --- a/Bootloaders/DFU/makefile +++ b/Bootloaders/DFU/makefile @@ -9,22 +9,6 @@ # LUFA Project Makefile. # -------------------------------------- -# Flash size and bootloader section sizes of the target, in KB. These must -# match the target's total FLASH size and the bootloader size set in the -# device's fuses. -FLASH_SIZE_KB := 128 -BOOT_SECTION_SIZE_KB := 8 - -# Bootloader address calculations (requires the "bc" unix utility) and -# API section start directives - do not modify these macros, but rather -# modify the depedant values above. -BOOT_START := 0x$(shell echo "obase=16; ($(FLASH_SIZE_KB) - $(BOOT_SECTION_SIZE_KB)) * 1024" | bc) -BOOT_SEC_OFFSET = 0x$(shell echo "obase=16; (($(FLASH_SIZE_KB) * 1024) - $(strip $(1)))" | bc) -BOOT_SECTION_LD_FLAG = -Wl,--section-start=.apitable_$(strip $(1))=$(call BOOT_SEC_OFFSET, $(3)) -Wl,--undefined=BootloaderAPI_$(strip $(2)) -BOOT_API_LD_FLAGS := $(call BOOT_SECTION_LD_FLAG, trampolines, Trampolines, (48 + 32 + 8)) -BOOT_API_LD_FLAGS += $(call BOOT_SECTION_LD_FLAG, jumptable, JumpTable, (32 + 8)) -BOOT_API_LD_FLAGS += $(call BOOT_SECTION_LD_FLAG, signatures, Signatures, 8) - MCU = at90usb1287 ARCH = AVR8 BOARD = USBKEY @@ -34,8 +18,26 @@ OPTIMIZATION = s TARGET = BootloaderDFU SRC = $(TARGET).c Descriptors.c BootloaderAPI.c BootloaderAPITable.S $(LUFA_SRC_USB) LUFA_PATH = ../../LUFA/ -CC_FLAGS = -DUSE_LUFA_CONFIG_HEADER -IConfig/ -DBOOT_START_ADDR=$(BOOT_START) -LD_FLAGS = -Wl,--section-start=.text=$(BOOT_START) $(BOOT_API_LD_FLAGS) +CC_FLAGS = -DUSE_LUFA_CONFIG_HEADER -IConfig/ -DBOOT_START_ADDR=$(BOOT_START_OFFSET) +LD_FLAGS = -Wl,--section-start=.text=$(BOOT_START_OFFSET) $(BOOT_API_LD_FLAGS) + +# Flash size and bootloader section sizes of the target, in KB. These must +# match the target's total FLASH size and the bootloader size set in the +# device's fuses. +FLASH_SIZE_KB = 128 +BOOT_SECTION_SIZE_KB = 8 + +# Bootloader address calculation formulas (requires the "bc" unix utility) +# Do not modify these macros, but rather modify the depedant values above. +BOOT_START_OFFSET = 0x$(shell echo "obase=16; ($(FLASH_SIZE_KB) - $(BOOT_SECTION_SIZE_KB)) * 1024" | bc) +BOOT_SEC_OFFSET = 0x$(shell echo "obase=16; (($(FLASH_SIZE_KB) * 1024) - $(strip $(1)))" | bc) + +# Bootloader linker section flags for relocating the API table sections to +# known FLASH addresses - these should not normally be user-edited. +BOOT_SECTION_LD_FLAG = -Wl,--section-start=.apitable_$(strip $(1))=$(call BOOT_SEC_OFFSET, $(3)) -Wl,--undefined=BootloaderAPI_$(strip $(2)) +BOOT_API_LD_FLAGS = $(call BOOT_SECTION_LD_FLAG, trampolines, Trampolines, (48 + 32 + 8)) +BOOT_API_LD_FLAGS += $(call BOOT_SECTION_LD_FLAG, jumptable, JumpTable, (32 + 8)) +BOOT_API_LD_FLAGS += $(call BOOT_SECTION_LD_FLAG, signatures, Signatures, 8) # Default target all: |