diff options
author | Giovanni Di Sirio <gdisirio@gmail.com> | 2016-06-27 08:28:06 +0000 |
---|---|---|
committer | Giovanni Di Sirio <gdisirio@gmail.com> | 2016-06-27 08:28:06 +0000 |
commit | 5895b0f2a06ac1a1578c3b0812b20832c3d69c29 (patch) | |
tree | d6ff4a1ec0da9c13b64ed4ce7ebbf3a1f93bd1b9 | |
parent | 12c3d9e4169cb5f27fdf1027c306821742029121 (diff) | |
download | ChibiOS-5895b0f2a06ac1a1578c3b0812b20832c3d69c29.tar.gz ChibiOS-5895b0f2a06ac1a1578c3b0812b20832c3d69c29.tar.bz2 ChibiOS-5895b0f2a06ac1a1578c3b0812b20832c3d69c29.zip |
FPU settings for Cortex-M7, requires GCC 4.9 minimum.
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@9669 35acf78f-673a-0410-8e92-d51de3d6d3f4
-rw-r--r-- | demos/STM32/RT-STM32F746G-DISCOVERY-LWIP-FATFS-USB/Makefile | 7 | ||||
-rw-r--r-- | demos/STM32/RT-STM32F746G-DISCOVERY/Makefile | 7 | ||||
-rw-r--r-- | demos/STM32/RT-STM32F746ZG-NUCLEO144/Makefile | 7 | ||||
-rw-r--r-- | demos/STM32/RT-STM32F767ZI-NUCLEO144/Makefile | 7 | ||||
-rw-r--r-- | demos/STM32/RT-STM32F769I-DISCOVERY/Makefile | 7 | ||||
-rw-r--r-- | os/common/startup/ARMCMx/compilers/GCC/rules.mk | 7 | ||||
-rw-r--r-- | testhal/STM32/STM32F7xx/GPT-ADC/Makefile | 7 | ||||
-rw-r--r-- | testhal/STM32/STM32F7xx/IRQ_STORM/Makefile | 7 | ||||
-rw-r--r-- | testhal/STM32/STM32F7xx/PWM-ICU/Makefile | 7 | ||||
-rw-r--r-- | testhal/STM32/STM32F7xx/SPI/Makefile | 7 | ||||
-rw-r--r-- | testhal/STM32/STM32F7xx/USB_CDC/Makefile | 7 | ||||
-rw-r--r-- | testhal/STM32/STM32F7xx/USB_RAW/Makefile | 7 |
12 files changed, 72 insertions, 12 deletions
diff --git a/demos/STM32/RT-STM32F746G-DISCOVERY-LWIP-FATFS-USB/Makefile b/demos/STM32/RT-STM32F746G-DISCOVERY-LWIP-FATFS-USB/Makefile index 44e3c7914..4a237d3a9 100644 --- a/demos/STM32/RT-STM32F746G-DISCOVERY-LWIP-FATFS-USB/Makefile +++ b/demos/STM32/RT-STM32F746G-DISCOVERY-LWIP-FATFS-USB/Makefile @@ -74,6 +74,11 @@ ifeq ($(USE_FPU),) USE_FPU = no
endif
+# FPU-related options.
+ifeq ($(USE_FPU_OPT),)
+ USE_FPU_OPT = -mfloat-abi=$(USE_FPU) -mfpu=fpv5-sp-d16 -fsingle-precision-constant
+endif
+
#
# Architecture or project specific options
##############################################################################
@@ -166,7 +171,7 @@ INCDIR = $(CHIBIOS)/os/license \ # Compiler settings
#
-MCU = cortex-m4
+MCU = cortex-m7
#TRGT = arm-elf-
TRGT = arm-none-eabi-
diff --git a/demos/STM32/RT-STM32F746G-DISCOVERY/Makefile b/demos/STM32/RT-STM32F746G-DISCOVERY/Makefile index 4a2ee7910..0273b285d 100644 --- a/demos/STM32/RT-STM32F746G-DISCOVERY/Makefile +++ b/demos/STM32/RT-STM32F746G-DISCOVERY/Makefile @@ -74,6 +74,11 @@ ifeq ($(USE_FPU),) USE_FPU = no
endif
+# FPU-related options.
+ifeq ($(USE_FPU_OPT),)
+ USE_FPU_OPT = -mfloat-abi=$(USE_FPU) -mfpu=fpv5-sp-d16 -fsingle-precision-constant
+endif
+
#
# Architecture or project specific options
##############################################################################
@@ -156,7 +161,7 @@ INCDIR = $(CHIBIOS)/os/license \ # Compiler settings
#
-MCU = cortex-m4
+MCU = cortex-m7
#TRGT = arm-elf-
TRGT = arm-none-eabi-
diff --git a/demos/STM32/RT-STM32F746ZG-NUCLEO144/Makefile b/demos/STM32/RT-STM32F746ZG-NUCLEO144/Makefile index f921e8830..9aaccd65a 100644 --- a/demos/STM32/RT-STM32F746ZG-NUCLEO144/Makefile +++ b/demos/STM32/RT-STM32F746ZG-NUCLEO144/Makefile @@ -74,6 +74,11 @@ ifeq ($(USE_FPU),) USE_FPU = no
endif
+# FPU-related options.
+ifeq ($(USE_FPU_OPT),)
+ USE_FPU_OPT = -mfloat-abi=$(USE_FPU) -mfpu=fpv5-sp-d16 -fsingle-precision-constant
+endif
+
#
# Architecture or project specific options
##############################################################################
@@ -156,7 +161,7 @@ INCDIR = $(CHIBIOS)/os/license \ # Compiler settings
#
-MCU = cortex-m4
+MCU = cortex-m7
#TRGT = arm-elf-
TRGT = arm-none-eabi-
diff --git a/demos/STM32/RT-STM32F767ZI-NUCLEO144/Makefile b/demos/STM32/RT-STM32F767ZI-NUCLEO144/Makefile index c50a7becd..39be534d4 100644 --- a/demos/STM32/RT-STM32F767ZI-NUCLEO144/Makefile +++ b/demos/STM32/RT-STM32F767ZI-NUCLEO144/Makefile @@ -74,6 +74,11 @@ ifeq ($(USE_FPU),) USE_FPU = no
endif
+# FPU-related options.
+ifeq ($(USE_FPU_OPT),)
+ USE_FPU_OPT = -mfloat-abi=$(USE_FPU) -mfpu=fpv5-d16
+endif
+
#
# Architecture or project specific options
##############################################################################
@@ -156,7 +161,7 @@ INCDIR = $(CHIBIOS)/os/license \ # Compiler settings
#
-MCU = cortex-m4
+MCU = cortex-m7
#TRGT = arm-elf-
TRGT = arm-none-eabi-
diff --git a/demos/STM32/RT-STM32F769I-DISCOVERY/Makefile b/demos/STM32/RT-STM32F769I-DISCOVERY/Makefile index 74c55f61c..b9f274a5c 100644 --- a/demos/STM32/RT-STM32F769I-DISCOVERY/Makefile +++ b/demos/STM32/RT-STM32F769I-DISCOVERY/Makefile @@ -74,6 +74,11 @@ ifeq ($(USE_FPU),) USE_FPU = no
endif
+# FPU-related options.
+ifeq ($(USE_FPU_OPT),)
+ USE_FPU_OPT = -mfloat-abi=$(USE_FPU) -mfpu=fpv5-d16
+endif
+
#
# Architecture or project specific options
##############################################################################
@@ -156,7 +161,7 @@ INCDIR = $(CHIBIOS)/os/license \ # Compiler settings
#
-MCU = cortex-m4
+MCU = cortex-m7
#TRGT = arm-elf-
TRGT = arm-none-eabi-
diff --git a/os/common/startup/ARMCMx/compilers/GCC/rules.mk b/os/common/startup/ARMCMx/compilers/GCC/rules.mk index 9c4aeaaac..5026b7c9f 100644 --- a/os/common/startup/ARMCMx/compilers/GCC/rules.mk +++ b/os/common/startup/ARMCMx/compilers/GCC/rules.mk @@ -27,12 +27,17 @@ ifeq ($(USE_LTO),yes) OPT += -flto
endif
+# 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 += -mfloat-abi=$(USE_FPU) -mfpu=fpv4-sp-d16 -fsingle-precision-constant
+ OPT += $(USE_FPU_OPT)
DDEFS += -DCORTEX_USE_FPU=TRUE
DADEFS += -DCORTEX_USE_FPU=TRUE
else
diff --git a/testhal/STM32/STM32F7xx/GPT-ADC/Makefile b/testhal/STM32/STM32F7xx/GPT-ADC/Makefile index 1ec4ee842..50efac016 100644 --- a/testhal/STM32/STM32F7xx/GPT-ADC/Makefile +++ b/testhal/STM32/STM32F7xx/GPT-ADC/Makefile @@ -74,6 +74,11 @@ ifeq ($(USE_FPU),) USE_FPU = no
endif
+# FPU-related options.
+ifeq ($(USE_FPU_OPT),)
+ USE_FPU_OPT = -mfloat-abi=$(USE_FPU) -mfpu=fpv5-sp-d16 -fsingle-precision-constant
+endif
+
#
# Architecture or project specific options
##############################################################################
@@ -156,7 +161,7 @@ INCDIR = $(CHIBIOS)/os/license \ # Compiler settings
#
-MCU = cortex-m4
+MCU = cortex-m7
#TRGT = arm-elf-
TRGT = arm-none-eabi-
diff --git a/testhal/STM32/STM32F7xx/IRQ_STORM/Makefile b/testhal/STM32/STM32F7xx/IRQ_STORM/Makefile index 6fdb06896..cb7c733e9 100644 --- a/testhal/STM32/STM32F7xx/IRQ_STORM/Makefile +++ b/testhal/STM32/STM32F7xx/IRQ_STORM/Makefile @@ -74,6 +74,11 @@ ifeq ($(USE_FPU),) USE_FPU = no
endif
+# FPU-related options.
+ifeq ($(USE_FPU_OPT),)
+ USE_FPU_OPT = -mfloat-abi=$(USE_FPU) -mfpu=fpv5-sp-d16 -fsingle-precision-constant
+endif
+
#
# Architecture or project specific options
##############################################################################
@@ -161,7 +166,7 @@ INCDIR = $(CHIBIOS)/os/license \ # Compiler settings
#
-MCU = cortex-m4
+MCU = cortex-m7
#TRGT = arm-elf-
TRGT = arm-none-eabi-
diff --git a/testhal/STM32/STM32F7xx/PWM-ICU/Makefile b/testhal/STM32/STM32F7xx/PWM-ICU/Makefile index 1ec4ee842..50efac016 100644 --- a/testhal/STM32/STM32F7xx/PWM-ICU/Makefile +++ b/testhal/STM32/STM32F7xx/PWM-ICU/Makefile @@ -74,6 +74,11 @@ ifeq ($(USE_FPU),) USE_FPU = no
endif
+# FPU-related options.
+ifeq ($(USE_FPU_OPT),)
+ USE_FPU_OPT = -mfloat-abi=$(USE_FPU) -mfpu=fpv5-sp-d16 -fsingle-precision-constant
+endif
+
#
# Architecture or project specific options
##############################################################################
@@ -156,7 +161,7 @@ INCDIR = $(CHIBIOS)/os/license \ # Compiler settings
#
-MCU = cortex-m4
+MCU = cortex-m7
#TRGT = arm-elf-
TRGT = arm-none-eabi-
diff --git a/testhal/STM32/STM32F7xx/SPI/Makefile b/testhal/STM32/STM32F7xx/SPI/Makefile index 1ec4ee842..50efac016 100644 --- a/testhal/STM32/STM32F7xx/SPI/Makefile +++ b/testhal/STM32/STM32F7xx/SPI/Makefile @@ -74,6 +74,11 @@ ifeq ($(USE_FPU),) USE_FPU = no
endif
+# FPU-related options.
+ifeq ($(USE_FPU_OPT),)
+ USE_FPU_OPT = -mfloat-abi=$(USE_FPU) -mfpu=fpv5-sp-d16 -fsingle-precision-constant
+endif
+
#
# Architecture or project specific options
##############################################################################
@@ -156,7 +161,7 @@ INCDIR = $(CHIBIOS)/os/license \ # Compiler settings
#
-MCU = cortex-m4
+MCU = cortex-m7
#TRGT = arm-elf-
TRGT = arm-none-eabi-
diff --git a/testhal/STM32/STM32F7xx/USB_CDC/Makefile b/testhal/STM32/STM32F7xx/USB_CDC/Makefile index 926096a14..8a5a9a774 100644 --- a/testhal/STM32/STM32F7xx/USB_CDC/Makefile +++ b/testhal/STM32/STM32F7xx/USB_CDC/Makefile @@ -74,6 +74,11 @@ ifeq ($(USE_FPU),) USE_FPU = no
endif
+# FPU-related options.
+ifeq ($(USE_FPU_OPT),)
+ USE_FPU_OPT = -mfloat-abi=$(USE_FPU) -mfpu=fpv5-sp-d16 -fsingle-precision-constant
+endif
+
#
# Architecture or project specific options
##############################################################################
@@ -160,7 +165,7 @@ INCDIR = $(CHIBIOS)/os/license \ # Compiler settings
#
-MCU = cortex-m4
+MCU = cortex-m7
#TRGT = arm-elf-
TRGT = arm-none-eabi-
diff --git a/testhal/STM32/STM32F7xx/USB_RAW/Makefile b/testhal/STM32/STM32F7xx/USB_RAW/Makefile index 3cef56ba2..cf6257f33 100644 --- a/testhal/STM32/STM32F7xx/USB_RAW/Makefile +++ b/testhal/STM32/STM32F7xx/USB_RAW/Makefile @@ -74,6 +74,11 @@ ifeq ($(USE_FPU),) USE_FPU = no
endif
+# FPU-related options.
+ifeq ($(USE_FPU_OPT),)
+ USE_FPU_OPT = -mfloat-abi=$(USE_FPU) -mfpu=fpv5-sp-d16 -fsingle-precision-constant
+endif
+
#
# Architecture or project specific options
##############################################################################
@@ -155,7 +160,7 @@ INCDIR = $(CHIBIOS)/os/license \ # Compiler settings
#
-MCU = cortex-m4
+MCU = cortex-m7
#TRGT = arm-elf-
TRGT = arm-none-eabi-
|