blob: 3ef6135deebdce8cbdc5fb54ca6055eaffc96723 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
|
DEBUG = 1
REVISION = $(shell git rev-list HEAD --count)
DIRTY = $(shell git diff-index --quiet HEAD; echo $$?)
ifeq ($(DIRTY),1)
SUFFIX = "-rc"
else
SUFFIX = ""
endif
PROJECT = test
TARGET = $(PROJECT).elf
CROSS_COMPILE=~/zephyr-sdk-0.17.1/arm-zephyr-eabi/bin/arm-zephyr-eabi-
CC = $(CROSS_COMPILE)gcc
LD = $(CROSS_COMPILE)gcc
GDB = $(CROSS_COMPILE)gdb
OBJCOPY = $(CROSS_COMPILE)objcopy
OBJDUMP = $(CROSS_COMPILE)objdump
SIZE = $(CROSS_COMPILE)size
SOURCES = main.c
SOURCES+= arch/aarch32/armv7e_m/stm32f769/init.c
SOURCES+= arch/aarch32/armv7e_m/stm32f7/system_stm32f7xx.c
SOURCES+= drivers/clock/stm32f769_clock_control.c
SOURCES+= drivers/pinctrl/stm32f769_pinctrl.c
SOURCES+= drivers/gpio/stm32f769_gpio.c
SOURCES+= drivers/memory/stm32f7_mpu.c
SOURCES+= drivers/uart/stm32f7_uart.c
LDFLAGS = -nostartfiles -nostdlib -nodefaultlibs -lgcc
LDFLAGS+= -Wl,-Map=$(PROJECT).map,--gc-sections
LDFLAGS+= -Tarch/aarch32/armv7e_m/stm32f769/link.ld -mfloat-abi=hard -mfpu=fpv5-sp-d16 -march=armv8-m.main+dsp
#LDFLAGS += -flto
#LDFLAGS += -Tld/spifi.ld -march=rv32imc_zicsr_zifencei
CFLAGS = -Wall -Wextra -std=gnu99 -funsigned-char -funsigned-bitfields
CFLAGS+= -mfloat-abi=hard -mfpu=fpv5-sp-d16 -march=armv8-m.main+dsp
ifneq ($(DEBUG),1)
#CFLAGS += -flto -O2
else
#CFLAGS += -flto -O2
CFLAGS+= -ggdb3
endif
CFLAGS+= -fshort-enums -ffunction-sections -fdata-sections -fno-delete-null-pointer-checks
CFLAGS+= -fno-builtin
CFLAGS+= -I./
# CFLAGS += -DEN_I2C1
# CFLAGS += -DEN_I2C0
# CFLAGS += -DEN_USART1
# CFLAGS += -DEN_EEPROM
#CFLAGS += -DIRQ_TRACE
#CFLAGS += -DEN_TSENS
#CFLAGS += -DCOMPACT
ASSOURCES = arch/aarch32/armv7e_m/stm32f7/startup_stm32f769xx.s
ASFLAGS = $(COMMON)
ASFLAGS += $(CFLAGS)
ASFLAGS += -x assembler-with-cpp
OBJECTS = $(SOURCES:.c=.o)
ASOBJECTS = $(ASSOURCES:.s=.o)
DEPS=$(patsubst %.o, %.o.d, $(notdir $(OBJECTS)))
DEPS+=$(patsubst %.o, %.o.d, $(notdir $(ASOBJECTS)))
all: $(TARGET) $(PROJECT).bin $(PROJECT).lss size
$(PROJECT).bin: $(TARGET)
$(OBJCOPY) -O binary $< $@
cp $(PROJECT).bin $(PROJECT)-$(REVISION)-$(BOARD)$(SUFFIX).bin
$(PROJECT).lss: $(TARGET)
$(OBJDUMP) -h -S $< > $@
$(TARGET): $(OBJECTS) $(ASOBJECTS)
$(LD) $(LDFLAGS) $(OBJECTS) $(ASOBJECTS) -o $@
$(OBJECTS): %.o: %.c
$(CC) $(CFLAGS) -c $< -o $@
$(ASOBJECTS): %.o: %.s
$(CC) $(ASFLAGS) -c $< -o $@
.PHONY: size
size: ${TARGET}
@echo
@$(SIZE) ${TARGET}
## Clean target
.PHONY: clean
clean:
rm $(OBJECTS) $(ASOBJECTS) $(PROJECT).bin $(PROJECT).elf $(PROJECT).map $(PROJECT).lss $(DEPS) *.bin *.elf *.map *.lss
|