X-Git-Url: http://git.linex4red.de/pub/USBasp.git/blobdiff_plain/6b5e684c77e5fa855b609d01e9a07fec296e9257..ad4308b1d123c36df674f553bb0c43f23cd7a99a:/Bootloaders/CDC/makefile diff --git a/Bootloaders/CDC/makefile b/Bootloaders/CDC/makefile index d39d2b21d..abc7c82a3 100644 --- a/Bootloaders/CDC/makefile +++ b/Bootloaders/CDC/makefile @@ -85,9 +85,11 @@ F_CPU = 8000000 F_CLOCK = $(F_CPU) -# Starting byte address of the bootloader, as a byte address. Note that the address given -# in the AVRStudio fuse programming dialogue uses word addresses, which will have to be -# doubled to obtain the starting byte address of the bootloader section. +# Starting byte address of the bootloader, as a byte address - computed via the formula +# BOOT_START = ((TOTAL_FLASH_BYTES - BOOTLOADER_SECTION_SIZE_BYTES) * 1024) +# +# Note that the bootloader size and start address given in AVRStudio is in words and not +# bytes, and so will need to be doubled to obtain the byte address needed by AVR-GCC. BOOT_START = 0x1E000 @@ -119,6 +121,7 @@ LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_DEVICE_OPT_FULLSPEED | USB_OPT_REG_ENAB LUFA_OPTS += -D NO_INTERNAL_SERIAL LUFA_OPTS += -D NO_DEVICE_SELF_POWER LUFA_OPTS += -D NO_DEVICE_REMOTE_WAKEUP +LUFA_OPTS += -D NO_STREAM_CALLBACKS # Create the LUFA source path variables by including the LUFA root makefile @@ -322,6 +325,7 @@ EXTMEMOPTS = # -Map: create map file # --cref: add cross reference to map file LDFLAGS = -Wl,-Map=$(TARGET).map,--cref +LDFLAGS += -Wl,--section-start=.text=$(BOOT_START) LDFLAGS += -Wl,--relax LDFLAGS += -Wl,--gc-sections LDFLAGS += $(EXTMEMOPTS) @@ -490,7 +494,10 @@ end: # Display size of file. HEXSIZE = $(SIZE) --target=$(FORMAT) $(TARGET).hex -ELFSIZE = $(SIZE) --mcu=$(MCU) --format=avr $(TARGET).elf +ELFSIZE = $(SIZE) $(MCU_FLAG) $(FORMAT_FLAG) $(TARGET).elf +MCU_FLAG = $(shell $(SIZE) --help | grep -- --mcu > /dev/null && echo --mcu=$(MCU) ) +FORMAT_FLAG = $(shell $(SIZE) --help | grep -- --format=.*avr > /dev/null && echo --format=avr ) + sizebefore: @if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_BEFORE); $(ELFSIZE); \