Fix compiler settings for MCUs with floating point
This commit is contained in:
parent
2018df1a61
commit
510a8d3339
@ -26,7 +26,7 @@ endif
|
|||||||
# Imported source files and paths
|
# Imported source files and paths
|
||||||
CHIBIOS = $(TOP_DIR)/lib/chibios
|
CHIBIOS = $(TOP_DIR)/lib/chibios
|
||||||
CHIBIOS_CONTRIB = $(TOP_DIR)/lib/chibios-contrib
|
CHIBIOS_CONTRIB = $(TOP_DIR)/lib/chibios-contrib
|
||||||
# Startup files. Try a few different locations, for compability with old versions and
|
# Startup files. Try a few different locations, for compability with old versions and
|
||||||
# for things hardware in the contrib repository
|
# for things hardware in the contrib repository
|
||||||
STARTUP_MK = $(CHIBIOS)/os/common/ports/ARMCMx/compilers/GCC/mk/startup_$(MCU_STARTUP).mk
|
STARTUP_MK = $(CHIBIOS)/os/common/ports/ARMCMx/compilers/GCC/mk/startup_$(MCU_STARTUP).mk
|
||||||
ifeq ("$(wildcard $(STARTUP_MK))","")
|
ifeq ("$(wildcard $(STARTUP_MK))","")
|
||||||
@ -46,7 +46,7 @@ endif
|
|||||||
include $(PLATFORM_MK)
|
include $(PLATFORM_MK)
|
||||||
|
|
||||||
|
|
||||||
BOARD_MK :=
|
BOARD_MK :=
|
||||||
|
|
||||||
ifneq ("$(wildcard $(KEYBOARD_PATH_5)/boards/$(BOARD)/board.mk)","")
|
ifneq ("$(wildcard $(KEYBOARD_PATH_5)/boards/$(BOARD)/board.mk)","")
|
||||||
BOARD_PATH = $(KEYBOARD_PATH_5)
|
BOARD_PATH = $(KEYBOARD_PATH_5)
|
||||||
@ -115,14 +115,14 @@ CHIBISRC = $(STARTUPSRC) \
|
|||||||
$(STREAMSSRC) \
|
$(STREAMSSRC) \
|
||||||
$(STARTUPASM) \
|
$(STARTUPASM) \
|
||||||
$(PORTASM) \
|
$(PORTASM) \
|
||||||
$(OSALASM)
|
$(OSALASM)
|
||||||
|
|
||||||
CHIBISRC := $(patsubst $(TOP_DIR)/%,%,$(CHIBISRC))
|
CHIBISRC := $(patsubst $(TOP_DIR)/%,%,$(CHIBISRC))
|
||||||
|
|
||||||
EXTRAINCDIRS += $(CHIBIOS)/os/license \
|
EXTRAINCDIRS += $(CHIBIOS)/os/license \
|
||||||
$(STARTUPINC) $(KERNINC) $(PORTINC) $(OSALINC) \
|
$(STARTUPINC) $(KERNINC) $(PORTINC) $(OSALINC) \
|
||||||
$(HALINC) $(PLATFORMINC) $(BOARDINC) $(TESTINC) \
|
$(HALINC) $(PLATFORMINC) $(BOARDINC) $(TESTINC) \
|
||||||
$(STREAMSINC) $(CHIBIOS)/os/various
|
$(STREAMSINC) $(CHIBIOS)/os/various
|
||||||
|
|
||||||
#
|
#
|
||||||
# Project, sources and paths
|
# Project, sources and paths
|
||||||
@ -139,17 +139,17 @@ SIZE = arm-none-eabi-size
|
|||||||
AR = arm-none-eabi-ar
|
AR = arm-none-eabi-ar
|
||||||
NM = arm-none-eabi-nm
|
NM = arm-none-eabi-nm
|
||||||
HEX = $(OBJCOPY) -O $(FORMAT)
|
HEX = $(OBJCOPY) -O $(FORMAT)
|
||||||
EEP =
|
EEP =
|
||||||
BIN = $(OBJCOPY) -O binary
|
BIN = $(OBJCOPY) -O binary
|
||||||
|
|
||||||
THUMBFLAGS = -DTHUMB_PRESENT -mno-thumb-interwork -DTHUMB_NO_INTERWORKING -mthumb -DTHUMB
|
THUMBFLAGS = -DTHUMB_PRESENT -mno-thumb-interwork -DTHUMB_NO_INTERWORKING -mthumb -DTHUMB
|
||||||
|
|
||||||
COMPILEFLAGS += -fomit-frame-pointer
|
COMPILEFLAGS += -fomit-frame-pointer
|
||||||
COMPILEFLAGS += -falign-functions=16
|
COMPILEFLAGS += -falign-functions=16
|
||||||
COMPILEFLAGS += -ffunction-sections
|
COMPILEFLAGS += -ffunction-sections
|
||||||
COMPILEFLAGS += -fdata-sections
|
COMPILEFLAGS += -fdata-sections
|
||||||
COMPILEFLAGS += -fno-common
|
COMPILEFLAGS += -fno-common
|
||||||
COMPILEFLAGS += $(THUMBFLAGS)
|
COMPILEFLAGS += $(THUMBFLAGS)
|
||||||
|
|
||||||
CFLAGS += $(COMPILEFLAGS)
|
CFLAGS += $(COMPILEFLAGS)
|
||||||
|
|
||||||
@ -168,6 +168,22 @@ OPT_DEFS += -DPROTOCOL_CHIBIOS
|
|||||||
|
|
||||||
MCUFLAGS = -mcpu=$(MCU)
|
MCUFLAGS = -mcpu=$(MCU)
|
||||||
|
|
||||||
|
# FPU options default (Cortex-M4 and Cortex-M7 single precision).
|
||||||
|
ifeq ($(USE_FPU_OPT),)
|
||||||
|
USE_FPU_OPT = -mfloat-abi=$(USE_FPU) -mfpu=fpv4-sp-d16 -fsingle-precision-constant
|
||||||
|
endif
|
||||||
|
|
||||||
|
# FPU-related options
|
||||||
|
ifeq ($(USE_FPU),)
|
||||||
|
USE_FPU = no
|
||||||
|
endif
|
||||||
|
ifneq ($(USE_FPU),no)
|
||||||
|
OPT += $(USE_FPU_OPT)
|
||||||
|
OPT_DEFS += -DCORTEX_USE_FPU=TRUE
|
||||||
|
else
|
||||||
|
OPT_DEFS += -DCORTEX_USE_FPU=FALSE
|
||||||
|
endif
|
||||||
|
|
||||||
DEBUG = gdb
|
DEBUG = gdb
|
||||||
|
|
||||||
DFU_ARGS ?=
|
DFU_ARGS ?=
|
||||||
|
Loading…
Reference in New Issue
Block a user