- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi, I'm having the following problem when I enabled hard FPU on an M4F, apparently compilations of the libraries of the BESL folder for M4F are missing:
Making snip.tcp_client_secure-EMW3166-FreeRTOS-LwIP-SDIO.elf
/home/marcelo/Documents/WICED-Studio-6.2/43xxx_Wi-Fi/tools/ARM_GNU/Linux64/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/bin/ld: error: build/snip.tcp_client_secure-EMW3166-FreeRTOS-LwIP-SDIO/binary/snip.tcp_client_secure-EMW3166-FreeRTOS-LwIP-SDIO.elf uses VFP register arguments, ././WICED/security/BESL/BESL_generic.ARM_CM4.release.a(wps_enrollee.o) does not
/home/marcelo/Documents/WICED-Studio-6.2/43xxx_Wi-Fi/tools/ARM_GNU/Linux64/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/bin/ld: failed to merge target specific data of file ././WICED/security/BESL/BESL_generic.ARM_CM4.release.a(wps_enrollee.o)
/home/marcelo/Documents/WICED-Studio-6.2/43xxx_Wi-Fi/tools/ARM_GNU/Linux64/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/bin/ld: error: build/snip.tcp_client_secure-EMW3166-FreeRTOS-LwIP-SDIO/binary/snip.tcp_client_secure-EMW3166-FreeRTOS-LwIP-SDIO.elf uses VFP register arguments, ././WICED/security/BESL/BESL_generic.ARM_CM4.release.a(wps_registrar.o) does not
/home/marcelo/Documents/WICED-Studio-6.2/43xxx_Wi-Fi/tools/ARM_GNU/Linux64/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/bin/ld: failed to merge target specific data of file ././WICED/security/BESL/BESL_generic.ARM_CM4.release.a(wps_registrar.o)
/home/marcelo/Documents/WICED-Studio-6.2/43xxx_Wi-Fi/tools/ARM_GNU/Linux64/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/bin/ld: error: build/snip.tcp_client_secure-EMW3166-FreeRTOS-LwIP-SDIO/binary/snip.tcp_client_secure-EMW3166-FreeRTOS-LwIP-SDIO.elf uses VFP register arguments, ././WICED/security/BESL/BESL_generic.ARM_CM4.release.a(wps_common.o) does not
/home/marcelo/Documents/WICED-Studio-6.2/43xxx_Wi-Fi/tools/ARM_GNU/Linux64/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/bin/ld: failed to merge target specific data of file ././WICED/security/BESL/BESL_generic.ARM_CM4.release.a(wps_common.o)
/home/marcelo/Documents/WICED-Studio-6.2/43xxx_Wi-Fi/tools/ARM_GNU/Linux64/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/bin/ld: error: build/snip.tcp_client_secure-EMW3166-FreeRTOS-LwIP-SDIO/binary/snip.tcp_client_secure-EMW3166-FreeRTOS-LwIP-SDIO.elf uses VFP register arguments, ././WICED/security/BESL/BESL_generic.ARM_CM4.release.a(nn.o) does not
/home/marcelo/Documents/WICED-Studio-6.2/43xxx_Wi-Fi/tools/ARM_GNU/Linux64/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/bin/ld: failed to merge target specific data of file ././WICED/security/BESL/BESL_generic.ARM_CM4.release.a(nn.o)
/home/marcelo/Documents/WICED-Studio-6.2/43xxx_Wi-Fi/tools/ARM_GNU/Linux64/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/bin/ld: error: build/snip.tcp_client_secure-EMW3166-FreeRTOS-LwIP-SDIO/binary/snip.tcp_client_secure-EMW3166-FreeRTOS-LwIP-SDIO.elf uses VFP register arguments, ././WICED/security/BESL/BESL_generic.ARM_CM4.release.a(supplicant.o) does not
/home/marcelo/Documents/WICED-Studio-6.2/43xxx_Wi-Fi/tools/ARM_GNU/Linux64/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/bin/ld: failed to merge target specific data of file ././WICED/security/BESL/BESL_generic.ARM_CM4.release.a(supplicant.o)
/home/marcelo/Documents/WICED-Studio-6.2/43xxx_Wi-Fi/tools/ARM_GNU/Linux64/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/bin/ld: error: build/snip.tcp_client_secure-EMW3166-FreeRTOS-LwIP-SDIO/binary/snip.tcp_client_secure-EMW3166-FreeRTOS-LwIP-SDIO.elf uses VFP register arguments, ././WICED/security/BESL/BESL_generic.ARM_CM4.release.a(aes-ctr-ccm.o) does not
/home/marcelo/Documents/WICED-Studio-6.2/43xxx_Wi-Fi/tools/ARM_GNU/Linux64/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/bin/ld: failed to merge target specific data of file ././WICED/security/BESL/BESL_generic.ARM_CM4.release.a(aes-ctr-ccm.o)
/home/marcelo/Documents/WICED-Studio-6.2/43xxx_Wi-Fi/tools/ARM_GNU/Linux64/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/bin/ld: error: build/snip.tcp_client_secure-EMW3166-FreeRTOS-LwIP-SDIO/binary/snip.tcp_client_secure-EMW3166-FreeRTOS-LwIP-SDIO.elf uses VFP register arguments, ././WICED/security/BESL/BESL_generic.ARM_CM4.release.a(80211.o) does not
/home/marcelo/Documents/WICED-Studio-6.2/43xxx_Wi-Fi/tools/ARM_GNU/Linux64/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/bin/ld: failed to merge target specific data of file ././WICED/security/BESL/BESL_generic.ARM_CM4.release.a(80211.o)
collect2: error: ld returned 1 exit status
make[1]: *** [build/snip.tcp_client_secure-EMW3166-FreeRTOS-LwIP-SDIO/binary/snip.tcp_client_secure-EMW3166-FreeRTOS-LwIP-SDIO.elf] Error 1
make: *** [main_app] Error 2
wiced_toolchain_ARM_GNU.mk:
ifeq ($(HOST_ARCH),ARM_CM4)
CPU_CFLAGS := -mthumb -mcpu=cortex-m4 -mfloat-abi=hard -mfpu=fpv4-sp-d16
CPU_CXXFLAGS := -mthumb -mcpu=cortex-m4 -mfloat-abi=hard -mfpu=fpv4-sp-d16
CPU_ASMFLAGS := -mcpu=cortex-m4 -mfloat-abi=hard -mfpu=fpv4-sp-d16
CPU_LDFLAGS := -mthumb -mcpu=cortex-m4 -mfloat-abi=hard -mfpu=fpv4-sp-d16 -Wl,-A,thumb -Wl,-z,max-page-size=0x10 -Wl,-z,common-page-size=0x10
endif
Thanks!
- Labels:
-
WICED Studio
-
Wifi+Bluetooth
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I think you will find this How to use HW FPU on STM32F4xx? to be quiet useful. I have already raised a feature request for the ThreadX FPU support and will follow up the same for FreeRTOS based implementation. Are you enabling the hardware FPU support before executing the instructions?