diff --git a/firmware/Makefile b/firmware/Makefile index 4fb1762722..6d64cc2901 100644 --- a/firmware/Makefile +++ b/firmware/Makefile @@ -174,11 +174,6 @@ ifeq ($(USE_EXCEPTIONS_STACKSIZE),) USE_EXCEPTIONS_STACKSIZE = 0x1000 endif -# Enables the use of FPU on Cortex-M4 (no, softfp, hard). -ifeq ($(USE_FPU),) - USE_FPU = hard -endif - # and this is not working for be :( See https://github.com/rusefi/rusefi/issues/638 # use -j4 unless some value was specified NUMJOBS=${NUMJOBS:-" -j4 "} diff --git a/firmware/bootloader/Makefile b/firmware/bootloader/Makefile index d6ac51bab8..95a82a85e9 100644 --- a/firmware/bootloader/Makefile +++ b/firmware/bootloader/Makefile @@ -100,11 +100,6 @@ ifeq ($(USE_EXCEPTIONS_STACKSIZE),) USE_EXCEPTIONS_STACKSIZE = 0x1000 endif -# Enables the use of FPU on Cortex-M4 (no, softfp, hard). -ifeq ($(USE_FPU),) - USE_FPU = hard -endif - # # Architecture or project specific options ############################################################################## diff --git a/firmware/hw_layer/ports/stm32/stm32f4/hw_ports.mk b/firmware/hw_layer/ports/stm32/stm32f4/hw_ports.mk index abc0a92b08..97843d8a87 100644 --- a/firmware/hw_layer/ports/stm32/stm32f4/hw_ports.mk +++ b/firmware/hw_layer/ports/stm32/stm32f4/hw_ports.mk @@ -5,6 +5,7 @@ HW_LAYER_PORT_CPP += $(PROJECT_DIR)/hw_layer/ports/stm32/stm32f4/mpu_util.cpp \ $(PROJECT_DIR)/hw_layer/ports/stm32/stm32_adc_v2.cpp MCU = cortex-m4 +USE_FPU = hard LDSCRIPT = $(PROJECT_DIR)/hw_layer/ports/stm32/stm32f4/STM32F4.ld # kludge: while we the very generic ChibiOS board.c we use our custom board.h from current folder! ifeq ($(BOARD_C),) diff --git a/firmware/hw_layer/ports/stm32/stm32f7/hw_ports.mk b/firmware/hw_layer/ports/stm32/stm32f7/hw_ports.mk index f832087c4a..1455895894 100644 --- a/firmware/hw_layer/ports/stm32/stm32f7/hw_ports.mk +++ b/firmware/hw_layer/ports/stm32/stm32f7/hw_ports.mk @@ -12,6 +12,8 @@ USE_OPT += -falign-functions=16 DDEFS += -DSTM32F767xx MCU = cortex-m7 +USE_FPU = hard +USE_FPU_OPT = -mfloat-abi=$(USE_FPU) -mfpu=fpv5-d16 LDSCRIPT = $(PROJECT_DIR)/hw_layer/ports/stm32/stm32f7/STM32F7.ld # kludge: while we the very generic ChibiOS board.c we use our custom board.h from current folder! ifeq ($(BOARD_C),) diff --git a/firmware/hw_layer/ports/stm32/stm32h7/hw_ports.mk b/firmware/hw_layer/ports/stm32/stm32h7/hw_ports.mk index a031c8f7c0..5a7721c41b 100644 --- a/firmware/hw_layer/ports/stm32/stm32h7/hw_ports.mk +++ b/firmware/hw_layer/ports/stm32/stm32h7/hw_ports.mk @@ -11,6 +11,8 @@ USE_OPT += -falign-functions=16 DDEFS += -DSTM32H743xx MCU = cortex-m7 +USE_FPU = hard +USE_FPU_OPT = -mfloat-abi=$(USE_FPU) -mfpu=fpv5-d16 LDSCRIPT = $(PROJECT_DIR)/hw_layer/ports/stm32/stm32h7/STM32H743xI.ld ALLCSRC += $(CHIBIOS)/os/hal/boards/ST_NUCLEO144_H743ZI/board.c CONFDIR = $(PROJECT_DIR)/hw_layer/ports/stm32/stm32h7/cfg