cancel
Showing results for 
Search instead for 
Did you mean: 

DSP Library issue

spochamreddy
Associate
Posted on February 10, 2016 at 13:21

Hi,

I am trying to do FFT using stm32f4 discovery board. I am using CooCox CoIDE.

After adding DSP Libraries and everything I am getting this problem during Compile.

[cc] arm-none-eabi-gcc -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mthumb -Wall -g -nostartfiles -Wl,-Map=stm32f429_project.map -O0 -Wl,--gc-sections -LC:\CooCox\CoIDE\configuration\ProgramData\stm32f429_project -Wl,-TC:\CooCox\CoIDE\configuration\ProgramData\stm32f429_project/arm-gcc-link.ld -g -o stm32f429_project.elf C:\CooCox\CoIDE\gcc-arm-none-eabi-4.8\arm-none-eabi\lib\libc.a ..\obj\stm32f4xx_usart.o ..\obj\stm32f4xx_can.o ..\obj\startup_stm32f4xx.o ..\obj\main.o ..\obj\stm32f4xx_rcc.o ..\obj\stm32f4xx_adc.o ..\obj\stm32f4xx_gpio.o ..\obj\system_stm32f4xx.o ..\obj\stm32f4xx_dma.o ..\obj\arm_fft_bin_data.o ..\obj\CAN_init.o ..\obj\misc.o ..\obj\arm_cfft_radix4_init_f32.o ..\obj\stm32f4xx_tim.o -LC:\CooCox\CoIDE\gcc-arm-none-eabi-4.8\arm-none-eabi\lib -larm_cortexm4lf_math -LC:\CooCox\CoIDE\gcc-arm-none-eabi-4.8\arm-none-eabi\lib -LC:\CooCox\CoIDE\gcc-arm-none-eabi-4.8\arm-none-eabi\lib -LC:\CooCox\CoIDE\gcc-arm-none-eabi-4.8\arm-none-eabi\lib -lc -lg -lm

 [cc] c:/coocox/coide/gcc-arm-none-eabi-4.8/bin/../lib/gcc/arm-none-eabi/4.8.3/../../../../arm-none-eabi/bin/ld.exe: error: stm32f429_project.elf uses VFP register arguments, C:\CooCox\CoIDE\gcc-arm-none-eabi-4.8\arm-none-eabi\lib\libm.a(lib_a-wf_sqrt.o) does not

 [cc] c:/coocox/coide/gcc-arm-none-eabi-4.8/bin/../lib/gcc/arm-none-eabi/4.8.3/../../../../arm-none-eabi/bin/ld.exe: failed to merge target specific data of file C:\CooCox\CoIDE\gcc-arm-none-eabi-4.8\arm-none-eabi\lib\libm.a(lib_a-wf_sqrt.o)

 [cc] c:/coocox/coide/gcc-arm-none-eabi-4.8/bin/../lib/gcc/arm-none-eabi/4.8.3/../../../../arm-none-eabi/bin/ld.exe: error: stm32f429_project.elf uses VFP register arguments, C:\CooCox\CoIDE\gcc-arm-none-eabi-4.8\arm-none-eabi\lib\libm.a(lib_a-ef_sqrt.o) does not

[cc] c:/coocox/coide/gcc-arm-none-eabi-4.8/bin/../lib/gcc/arm-none-eabi/4.8.3/../../../../arm-none-eabi/bin/ld.exe: failed to merge target specific data of file C:\CooCox\CoIDE\gcc-arm-none-eabi-4.8\arm-none-eabi\lib\libm.a(lib_a-ef_sqrt.o)

 [cc] c:/coocox/coide/gcc-arm-none-eabi-4.8/bin/../lib/gcc/arm-none-eabi/4.8.3/../../../../arm-none-eabi/bin/ld.exe: error: stm32f429_project.elf uses VFP register arguments, C:\CooCox\CoIDE\gcc-arm-none-eabi-4.8\arm-none-eabi\lib\libm.a(lib_a-s_lib_ver.o) does not

[cc] c:/coocox/coide/gcc-arm-none-eabi-4.8/bin/../lib/gcc/arm-none-eabi/4.8.3/../../../../arm-none-eabi/bin/ld.exe: failed to merge target specific data of file C:\CooCox\CoIDE\gcc-arm-none-eabi-4.8\arm-none-eabi\lib\libm.a(lib_a-s_lib_ver.o)does not

[cc] c:/coocox/coide/gcc-arm-none-eabi-4.8/bin/../lib/gcc/arm-none-eabi/4.8.3/../../../../arm-none-eabi/bin/ld.exe: error: stm32f429_project.elf uses VFP register arguments, C:\CooCox\CoIDE\gcc-arm-none-eabi-4.8\arm-none-eabi\lib\libm.a(lib_a-s_matherr.o) does not

[cc] c:/coocox/coide/gcc-arm-none-eabi-4.8/bin/../lib/gcc/arm-none-eabi/4.8.3/../../../../arm-none-eabi/bin/ld.exe: failed to merge target specific data of file C:\CooCox\CoIDE\gcc-arm-none-eabi-4.8\arm-none-eabi\lib\libm.a(lib_a-s_matherr.o)

[cc] c:/coocox/coide/gcc-arm-none-eabi-4.8/bin/../lib/gcc/arm-none-eabi/4.8.3/../../../../arm-none-eabi/bin/ld.exe: error: stm32f429_project.elf uses VFP register arguments, C:\CooCox\CoIDE\gcc-arm-none-eabi-4.8\arm-none-eabi\lib\libm.a(lib_a-sf_fpclassify.o) does not

[cc] c:/coocox/coide/gcc-arm-none-eabi-4.8/bin/../lib/gcc/arm-none-eabi/4.8.3/../../../../arm-none-eabi/bin/ld.exe: failed to merge target specific data of file C:\CooCox\CoIDE\gcc-arm-none-eabi-4.8\arm-none-eabi\lib\libm.a(lib_a-sf_fpclassify.o)

[cc] c:/coocox/coide/gcc-arm-none-eabi-4.8/bin/../lib/gcc/arm-none-eabi/4.8.3/../../../../arm-none-eabi/bin/ld.exe: error: stm32f429_project.elf uses VFP register arguments, C:\CooCox\CoIDE\gcc-arm-none-eabi-4.8\arm-none-eabi\lib\libg.a(lib_a-errno.o) does not

[cc] c:/coocox/coide/gcc-arm-none-eabi-4.8/bin/../lib/gcc/arm-none-eabi/4.8.3/../../../../arm-none-eabi/bin/ld.exe: failed to merge target specific data of file C:\CooCox\CoIDE\gcc-arm-none-eabi-4.8\arm-none-eabi\lib\libg.a(lib_a-errno.o)

[cc] c:/coocox/coide/gcc-arm-none-eabi-4.8/bin/../lib/gcc/arm-none-eabi/4.8.3/../../../../arm-none-eabi/bin/ld.exe: error: stm32f429_project.elf uses VFP register arguments, C:\CooCox\CoIDE\gcc-arm-none-eabi-4.8\arm-none-eabi\lib\libg.a(lib_a-impure.o) does not

[cc] c:/coocox/coide/gcc-arm-none-eabi-4.8/bin/../lib/gcc/arm-none-eabi/4.8.3/../../../../arm-none-eabi/bin/ld.exe: failed to merge target specific data of file C:\CooCox\CoIDE\gcc-arm-none-eabi-4.8\arm-none-eabi\lib\libg.a(lib_a-impure.o

[cc] )

[cc] collect2.exe: error: ld returned 1 exit status

CAN anyone help me in this

Thanks,

Pochamreddy.

#discovery #stm32f4 #!stm32-!fft #fft
1 REPLY 1
AvaTar
Lead
Posted on February 10, 2016 at 14:28

Don't know Coocox IDE internals, but obviously you link against the wrong math library.

> [cc] arm-none-eabi-gcc -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -

mfloat-abi=hard

...

> ...

> error: stm32f429_project.elf

uses VFP register arguments

, C:\CooCox\...\lib\libm.a(lib_a-wf_sqrt.o)

does not

 

If the IDE/wizard selected the libm.a, or you did it manually, it is the wrong one.

Either point your project to the correct library, or use

-mfloat-abi=soft_fp

, which is only marginally slower than '

hard

'.