@@ -64,13 +64,18 @@ INC += -Ilwip_inc
64
64
CFLAGS_CORTEX_M = -mthumb
65
65
66
66
# Select hardware floating-point support
67
+ SUPPORTS_HARDWARE_FP_SINGLE = 0
68
+ SUPPORTS_HARDWARE_FP_DOUBLE = 0
67
69
ifeq ($(CMSIS_MCU ) ,$(filter $(CMSIS_MCU ) ,STM32F765xx STM32F767xx STM32F769xx STM32H743xx) )
68
70
CFLAGS_CORTEX_M += -mfpu=fpv5-d16 -mfloat-abi=hard
71
+ SUPPORTS_HARDWARE_FP_SINGLE = 1
72
+ SUPPORTS_HARDWARE_FP_DOUBLE = 1
69
73
else
70
74
ifeq ($(MCU_SERIES ) ,$(filter $(MCU_SERIES ) ,f0 l0) )
71
75
CFLAGS_CORTEX_M += -msoft-float
72
76
else
73
77
CFLAGS_CORTEX_M += -mfpu=fpv4-sp-d16 -mfloat-abi=hard
78
+ SUPPORTS_HARDWARE_FP_SINGLE = 1
74
79
endif
75
80
endif
76
81
@@ -180,7 +185,7 @@ SRC_LIBM = $(addprefix lib/libm_dbl/,\
180
185
tgamma.c \
181
186
trunc.c \
182
187
)
183
- ifeq ($(MCU_SERIES ) , $( filter $( MCU_SERIES ) ,f7 h7) )
188
+ ifeq ($(SUPPORTS_HARDWARE_FP_DOUBLE ) ,1 )
184
189
SRC_LIBM += lib/libm_dbl/thumb_vfp_sqrt.c
185
190
else
186
191
SRC_LIBM += lib/libm_dbl/sqrt.c
@@ -213,10 +218,10 @@ SRC_LIBM = $(addprefix lib/libm/,\
213
218
wf_lgamma.c \
214
219
wf_tgamma.c \
215
220
)
216
- ifeq ($(MCU_SERIES ) ,$(filter $(MCU_SERIES ) ,f0 l0) )
217
- SRC_LIBM += lib/libm/ef_sqrt.c
218
- else
221
+ ifeq ($(SUPPORTS_HARDWARE_FP_SINGLE ) ,1)
219
222
SRC_LIBM += lib/libm/thumb_vfp_sqrtf.c
223
+ else
224
+ SRC_LIBM += lib/libm/ef_sqrt.c
220
225
endif
221
226
endif
222
227
0 commit comments