Fix compiler settings for MCUs with floating point
This commit is contained in:
parent
2018df1a61
commit
510a8d3339
1 changed files with 25 additions and 9 deletions
|
@ -26,7 +26,7 @@ endif
|
|||
# Imported source files and paths
|
||||
CHIBIOS = $(TOP_DIR)/lib/chibios
|
||||
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
|
||||
STARTUP_MK = $(CHIBIOS)/os/common/ports/ARMCMx/compilers/GCC/mk/startup_$(MCU_STARTUP).mk
|
||||
ifeq ("$(wildcard $(STARTUP_MK))","")
|
||||
|
@ -46,7 +46,7 @@ endif
|
|||
include $(PLATFORM_MK)
|
||||
|
||||
|
||||
BOARD_MK :=
|
||||
BOARD_MK :=
|
||||
|
||||
ifneq ("$(wildcard $(KEYBOARD_PATH_5)/boards/$(BOARD)/board.mk)","")
|
||||
BOARD_PATH = $(KEYBOARD_PATH_5)
|
||||
|
@ -115,14 +115,14 @@ CHIBISRC = $(STARTUPSRC) \
|
|||
$(STREAMSSRC) \
|
||||
$(STARTUPASM) \
|
||||
$(PORTASM) \
|
||||
$(OSALASM)
|
||||
$(OSALASM)
|
||||
|
||||
CHIBISRC := $(patsubst $(TOP_DIR)/%,%,$(CHIBISRC))
|
||||
|
||||
|
||||
EXTRAINCDIRS += $(CHIBIOS)/os/license \
|
||||
$(STARTUPINC) $(KERNINC) $(PORTINC) $(OSALINC) \
|
||||
$(HALINC) $(PLATFORMINC) $(BOARDINC) $(TESTINC) \
|
||||
$(STREAMSINC) $(CHIBIOS)/os/various
|
||||
$(STREAMSINC) $(CHIBIOS)/os/various
|
||||
|
||||
#
|
||||
# Project, sources and paths
|
||||
|
@ -139,17 +139,17 @@ SIZE = arm-none-eabi-size
|
|||
AR = arm-none-eabi-ar
|
||||
NM = arm-none-eabi-nm
|
||||
HEX = $(OBJCOPY) -O $(FORMAT)
|
||||
EEP =
|
||||
EEP =
|
||||
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 += -ffunction-sections
|
||||
COMPILEFLAGS += -fdata-sections
|
||||
COMPILEFLAGS += -fno-common
|
||||
COMPILEFLAGS += $(THUMBFLAGS)
|
||||
COMPILEFLAGS += $(THUMBFLAGS)
|
||||
|
||||
CFLAGS += $(COMPILEFLAGS)
|
||||
|
||||
|
@ -168,6 +168,22 @@ OPT_DEFS += -DPROTOCOL_CHIBIOS
|
|||
|
||||
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
|
||||
|
||||
DFU_ARGS ?=
|
||||
|
|
Loading…
Reference in a new issue