aboutsummaryrefslogtreecommitdiffstats
path: root/src/sam3/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'src/sam3/Makefile')
-rw-r--r--src/sam3/Makefile35
1 files changed, 22 insertions, 13 deletions
diff --git a/src/sam3/Makefile b/src/sam3/Makefile
index 98809cdd..c49fab5d 100644
--- a/src/sam3/Makefile
+++ b/src/sam3/Makefile
@@ -1,33 +1,42 @@
-# Additional SAM3 build rules
+# Additional SAM3/SAM4 build rules
# Setup the toolchain
CROSS_PREFIX=arm-none-eabi-
dirs-y += src/sam3 src/generic
-dirs-y += lib/sam3x/gcc/gcc
+dirs-$(CONFIG_MACH_SAM3X8E) += lib/sam3x/gcc/gcc
+dirs-$(CONFIG_MACH_SAM4E8E) += lib/sam4e/gcc/gcc
-CFLAGS += -mthumb -mcpu=cortex-m3 -falign-loops=16
-CFLAGS += -Ilib/sam3x/include -Ilib/cmsis-core
-CFLAGS += -D__SAM3X8E__
+CFLAGS-$(CONFIG_MACH_SAM3X8E) += -mcpu=cortex-m3 -falign-loops=16
+CFLAGS-$(CONFIG_MACH_SAM3X8E) += -Ilib/sam3x/include -D__SAM3X8E__
+CFLAGS-$(CONFIG_MACH_SAM4E8E) += -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard
+CFLAGS-$(CONFIG_MACH_SAM4E8E) += -Ilib/sam4e/include -D__SAM4E8E__
+CFLAGS += -mthumb $(CFLAGS-y) -Ilib/cmsis-core
-CFLAGS_klipper.elf += -Llib/sam3x/gcc/gcc
-CFLAGS_klipper.elf += -T lib/sam3x/gcc/gcc/sam3x8e_flash.ld
-CFLAGS_klipper.elf += --specs=nano.specs --specs=nosys.specs
+eflags-$(CONFIG_MACH_SAM3X8E) += -Llib/sam3x/gcc/gcc
+eflags-$(CONFIG_MACH_SAM3X8E) += -T lib/sam3x/gcc/gcc/sam3x8e_flash.ld
+eflags-$(CONFIG_MACH_SAM4E8E) += -Llib/sam4e/gcc/gcc
+eflags-$(CONFIG_MACH_SAM4E8E) += -T lib/sam4e/gcc/gcc/sam4e8e_flash.ld
+CFLAGS_klipper.elf += $(eflags-y) --specs=nano.specs --specs=nosys.specs
# Add source files
-src-y += sam3/main.c sam3/timer.c
-src-y += sam3/gpio.c sam3/adc.c sam3/spi.c
+src-y += sam3/main.c sam3/timer.c sam3/gpio.c
src-y += generic/crc16_ccitt.c generic/alloc.c
src-y += generic/armcm_irq.c generic/timer_irq.c
-src-y += ../lib/sam3x/gcc/system_sam3xa.c
-src-y += ../lib/sam3x/gcc/gcc/startup_sam3xa.c
src-$(CONFIG_SERIAL) += sam3/serial.c generic/serial_irq.c
+src-$(CONFIG_MACH_SAM3X8E) += sam3/adc.c sam3/spi.c
+src-$(CONFIG_MACH_SAM3X8E) += ../lib/sam3x/gcc/system_sam3xa.c
+src-$(CONFIG_MACH_SAM3X8E) += ../lib/sam3x/gcc/gcc/startup_sam3xa.c
+src-$(CONFIG_MACH_SAM4E8E) += sam3/sam4e_afec.c sam3/sam4e_spi.c
+src-$(CONFIG_MACH_SAM4E8E) += sam3/i2c.c sam3/sam4_cache.c
+src-$(CONFIG_MACH_SAM4E8E) += ../lib/sam4e/gcc/system_sam4e.c
+src-$(CONFIG_MACH_SAM4E8E) += ../lib/sam4e/gcc/gcc/startup_sam4e.c
# Build the additional hex output file
target-y += $(OUT)klipper.bin
$(OUT)klipper.bin: $(OUT)klipper.elf
- @echo " Creating hex file $@"
+ @echo " Creating bin file $@"
$(Q)$(OBJCOPY) -O binary $< $@
# Flash rules