mirror of
https://github.com/RIOT-OS/RIOT.git
synced 2024-12-29 04:50:03 +01:00
62d6a560b1
The xfa.ld script is incompatible with binutils > 2.35.2 and results in firmwares that wont boot. Sadly, I couldn't figure out an elegant way to fix the issue. Instead, I modified the linker script provided by binutils to also include XFA.
57 lines
1.2 KiB
Makefile
57 lines
1.2 KiB
Makefile
export CPU_ATXMEGA 1
|
|
|
|
# should expand RAM ?
|
|
EXP_RAM = 0
|
|
|
|
# CPU ROM/RAM
|
|
ifneq (,$(findstring atxmega8,$(CPU_MODEL)))
|
|
RAM_LEN = 1K
|
|
ROM_LEN = 8K
|
|
endif
|
|
ifneq (,$(findstring atxmega16,$(CPU_MODEL)))
|
|
RAM_LEN = 2K
|
|
ROM_LEN = 16K
|
|
endif
|
|
ifneq (,$(findstring atxmega32,$(CPU_MODEL)))
|
|
RAM_LEN = 4K
|
|
ROM_LEN = 32K
|
|
endif
|
|
ifneq (,$(findstring atxmega64,$(CPU_MODEL)))
|
|
RAM_LEN = 4K
|
|
ROM_LEN = 64K
|
|
endif
|
|
ifneq (,$(findstring atxmega128,$(CPU_MODEL)))
|
|
RAM_LEN = 8K
|
|
ROM_LEN = 128K
|
|
endif
|
|
ifneq (,$(findstring atxmega192,$(CPU_MODEL)))
|
|
RAM_LEN = 16K
|
|
ROM_LEN = 192K
|
|
endif
|
|
ifneq (,$(findstring atxmega256,$(CPU_MODEL)))
|
|
RAM_LEN = 16K
|
|
ROM_LEN = 256K
|
|
endif
|
|
ifneq (,$(findstring atxmega384,$(CPU_MODEL)))
|
|
RAM_LEN = 32K
|
|
ROM_LEN = 384K
|
|
endif
|
|
|
|
ifneq (,$(findstring a1,$(shell echo $(CPU_MODEL) | cut -c8-)))
|
|
ifeq ($(EXP_RAM),1)
|
|
CFLAGS += -DRAM_LEN=$(RAM_LEN)-1
|
|
LDSCRIPT_EXTRA = -Wl,--defsym=__heap_end=0x800000+$(RAM_LEN)-1
|
|
endif
|
|
endif
|
|
|
|
ifneq (,$(filter atxmega128a1 atxmega128a1u atxmega128a4u,$(CPU_MODEL)))
|
|
LINKER_SCRIPT ?= avrxmega7.ld
|
|
else
|
|
LINKER_SCRIPT ?= avrxmega6.ld
|
|
endif
|
|
|
|
# CPU depends on the avr8 common module, so include it
|
|
include $(RIOTCPU)/avr8_common/Makefile.include
|
|
|
|
PSEUDOMODULE += atxmega_ebi
|