2016-08-15 22:41:07 +02:00
|
|
|
# Define the CPU family so we can differentiate between them in the code
|
|
|
|
CFLAGS += -DCPU_FAM_$(shell echo $(CPU_FAM) | tr 'a-z-' 'A-Z_')
|
2016-02-08 18:22:11 +01:00
|
|
|
|
2017-10-13 18:45:35 +02:00
|
|
|
# Set ROM and RAM lengths according to CPU model
|
2019-04-04 00:00:35 +02:00
|
|
|
ifneq (,$(filter samd21g18a samd21j18a saml21j18b saml21j18a samr21e18a samr21g18a samr30g18a,$(CPU_MODEL)))
|
2017-10-13 18:45:35 +02:00
|
|
|
ROM_LEN ?= 0x40000
|
|
|
|
RAM_LEN ?= 0x8000
|
|
|
|
endif
|
2019-01-21 17:06:58 +01:00
|
|
|
ifneq (,$(filter saml10e16a saml11e16a,$(CPU_MODEL)))
|
|
|
|
ROM_LEN ?= 64K
|
|
|
|
RAM_LEN ?= 16K
|
|
|
|
endif
|
2019-03-12 13:57:27 +01:00
|
|
|
ifneq (,$(filter samd51j20a same54p20a,$(CPU_MODEL)))
|
|
|
|
ROM_LEN ?= 1024K
|
|
|
|
RAM_LEN ?= 256K
|
|
|
|
endif
|
2017-10-13 18:45:35 +02:00
|
|
|
|
|
|
|
ROM_START_ADDR ?= 0x00000000
|
|
|
|
RAM_START_ADDR ?= 0x20000000
|
|
|
|
|
2016-02-08 18:22:11 +01:00
|
|
|
# this CPU implementation doesn't use CMSIS initialization
|
|
|
|
export CFLAGS += -DDONT_USE_CMSIS_INIT
|
2019-01-21 17:06:58 +01:00
|
|
|
export CFLAGS += -DDONT_USE_PREDEFINED_CORE_HANDLERS
|
|
|
|
export CFLAGS += -DDONT_USE_PREDEFINED_PERIPHERALS_HANDLERS
|
2016-02-08 18:22:11 +01:00
|
|
|
|
2017-10-13 18:45:35 +02:00
|
|
|
# For Cortex-M cpu we use the common cortexm.ld linker script
|
|
|
|
LINKER_SCRIPT ?= cortexm.ld
|
2016-12-15 11:39:19 +01:00
|
|
|
|
2016-12-15 11:45:53 +01:00
|
|
|
# include sam0 common periph drivers
|
|
|
|
USEMODULE += sam0_common_periph
|
2016-02-12 00:49:43 +01:00
|
|
|
|
2016-02-08 18:22:11 +01:00
|
|
|
# export the common include directory
|
2016-12-15 11:45:53 +01:00
|
|
|
export INCLUDES += -I$(RIOTCPU)/sam0_common/include
|