I had to ....
Built F411 but as a cortex-m7
boards.txt
Code: Select all
GenF4.name=Generic STM32F4 series
GenF4.build.vid=0x0483
GenF4.build.core=arduino
GenF4.build.board=GenF4
GenF4.build.extra_flags=-D{build.product_line} {build.enable_usb} {build.xSerial} {build.bootloader_flags}
#GenF4.build.mcu=cortex-m4
GenF4.build.mcu=cortex-m7
GenF4.build.flags.fp=-mfpu=fpv4-sp-d16 -mfloat-abi=hard
#GenF4.build.flags.fp=-march=armv7e-m+fp+fpv5+fp.dp -mfloat-abi=hard -mfpu=fpv5-d16 -fsingle-precision-constant
GenF4.build.series=STM32F4xx
#GenF4.build.cmsis_lib_gcc=arm_cortexM4lf_math
GenF4.build.cmsis_lib_gcc=arm_cortexM7lfsp_math
-O2
Code: Select all
##########################################
Single Precision C Whetstone Benchmark
Calibrate
0.15 Seconds 1 Passes (x 100)
0.77 Seconds 5 Passes (x 100)
3.86 Seconds 25 Passes (x 100)
Use 64 passes (x 100)
Single Precision C/C++ Whetstone Benchmark
Loop content Result MFLOPS MOPS Seconds
N1 floating point -1.12475013732910156 48.000 0.026
N2 floating point -1.12274742126464844 33.340 0.258
N3 if then else 1.00000000000000000 94.628 0.070
N4 fixed point 12.00000000000000000 160.001 0.126
N5 sin,cos etc. 0.49909299612045288 0.924 5.764
N6 floating point 0.99999982118606567 31.994 1.079
N7 assignments 3.00000000000000000 41.210 0.287
N8 exp,sqrt etc. 0.75110614299774170 1.052 2.264
MWIPS 64.819 9.874
And specifying a m7 V5 fpu
Code: Select all
GenF4.name=Generic STM32F4 series
GenF4.build.vid=0x0483
GenF4.build.core=arduino
GenF4.build.board=GenF4
GenF4.build.extra_flags=-D{build.product_line} {build.enable_usb} {build.xSerial} {build.bootloader_flags}
#GenF4.build.mcu=cortex-m4
GenF4.build.mcu=cortex-m7
#GenF4.build.flags.fp=-mfpu=fpv4-sp-d16 -mfloat-abi=hard
GenF4.build.flags.fp=-mfpu=fpv5-sp-d16 -mfloat-abi=hard
#GenF4.build.flags.fp=-march=armv7e-m+fp+fpv5+fp.dp -mfloat-abi=hard -mfpu=fpv5-d16 -fsingle-precision-constant
GenF4.build.series=STM32F4xx
#GenF4.build.cmsis_lib_gcc=arm_cortexM4lf_math
GenF4.build.cmsis_lib_gcc=arm_cortexM7lfsp_math
-O2
Code: Select all
##########################################
Single Precision C Whetstone Benchmark
Calibrate
0.15 Seconds 1 Passes (x 100)
0.77 Seconds 5 Passes (x 100)
3.86 Seconds 25 Passes (x 100)
Use 64 passes (x 100)
Single Precision C/C++ Whetstone Benchmark
Loop content Result MFLOPS MOPS Seconds
N1 floating point -1.12475013732910156 48.000 0.026
N2 floating point -1.12274742126464844 33.340 0.258
N3 if then else 1.00000000000000000 96.000 0.069
N4 fixed point 12.00000000000000000 160.001 0.126
N5 sin,cos etc. 0.49909299612045288 0.924 5.764
N6 floating point 0.99999982118606567 31.994 1.079
N7 assignments 3.00000000000000000 41.210 0.287
N8 exp,sqrt etc. 0.75110614299774170 1.051 2.265
MWIPS 64.819 9.874
Seems like the result is the same for the m4 fpu vs the m7 fpu - The m4 runs with both.