# This CPU implementation is using the new core/CPU interface: export CFLAGS += -DCOREIF_NG=1 # Tell the build system that the CPU depends on the Cortex-M common files: export USEMODULE += cortexm_common # Export the peripheral drivers to be linked into the final binary: export USEMODULE += periph # all cortex MCU's use newlib as libc export USEMODULE += newlib # export the CPU model and architecture MODEL = $(shell echo $(CPU_MODEL) | tr 'a-z' 'A-Z') export CFLAGS += -DCPU_MODEL_$(MODEL) ARCH = $(shell echo $(CPU_ARCH) | tr 'a-z-' 'A-Z_') export CFLAGS += -DCPU_ARCH_$(ARCH) # set the compiler specific CPU and FPU options ifeq ($(CPU_ARCH),cortex-m4f) export CFLAGS_FPU += -mfloat-abi=hard -mfpu=fpv4-sp-d16 export MCPU := cortex-m4 else export MCPU ?= $(CPU_ARCH) endif # Include CPU specific includes: export INCLUDES += -I$(RIOTCPU)/$(CPU)/include # Explicitly tell the linker to link the startup code. # Without this the interrupt vectors will not be linked correctly! export UNDEF += $(BINDIR)cpu/startup.o # CPU depends on the cortex-m common module, so include it: include $(RIOTCPU)/cortexm_common/Makefile.include # Avoid overriding the default rule: all: # Rule to generate assembly listings from ELF files: %.lst: %.elf $(OBJDUMP) $(OBJDUMPFLAGS) $< > $@