floating point unit

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

floating point unit

1,057 Views
paulhembrook
Contributor II

Have used the 4337 board with the tools for a few projects. Have selected some projects and have built a workspace for actual product development using the 4337 on our own board.

Recently we have investigating using the 54102. So I took the ADC example and did some initial code development incorporating some filters. I wan't to investigate the time savings if I engage the floating point hardware. I went to the IDE (MCUXpresso) and select FPv4-SP(Hard ABI) on MCU C Compiler-Architecture, MCU Assembler-Archtecture and MCU Linker-Architecture. I did a clean and build and get the following error(s)

------------------

c:/nxp/mcuxpressoide_10.3.0_2200/ide/plugins/com.nxp.mcuxpresso.tools.win32_10.3.0.201811011841/tools/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/bin/ld.exe: error: periph_adc.axf uses VFP register arguments, C:\Users\phembrook\Documents\MCUXpressoIDE_10.3.0_2200\workspace\lpc_board_lpcxpresso_54102\Debug\liblpc_board_lpcxpresso_54102.a(board.o) does not
c:/nxp/mcuxpressoide_10.3.0_2200/ide/plugins/com.nxp.mcuxpresso.tools.win32_10.3.0.201811011841/tools/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/bin/ld.exe: failed to merge target specific data of file C:\Users\phembrook\Documents\MCUXpressoIDE_10.3.0_2200\workspace\lpc_board_lpcxpresso_54102\Debug\liblpc_board_lpcxpresso_54102.a(board.o)
c:/nxp/mcuxpressoide_10.3.0_2200/ide/plugins/com.nxp.mcuxpresso.tools.win32_10.3.0.201811011841/tools/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/bin/ld.exe: error: periph_adc.axf uses VFP register arguments, C:\Users\phembrook\Documents\MCUXpressoIDE_10.3.0_2200\workspace\lpc_board_lpcxpresso_54102\Debug\liblpc_board_lpcxpresso_54102.a(board_sysinit.o) does not
c:/nxp/mcuxpressoide_10.3.0_2200/ide/plugins/com.nxp.mcuxpresso.tools.win32_10.3.0.201811011841/tools/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/bin/ld.exe: failed to merge target specific data of file C:\Users\phembrook\Documents\MCUXpressoIDE_10.3.0_2200\workspace\lpc_board_lpcxpresso_54102\Debug\liblpc_board_lpcxpresso_54102.a(board_sysinit.o)
c:/nxp/mcuxpressoide_10.3.0_2200/ide/plugins/com.nxp.mcuxpresso.tools.win32_10.3.0.201811011841/tools/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/bin/ld.exe: error: periph_adc.axf uses VFP register arguments, C:\Users\phembrook\Documents\MCUXpressoIDE_10.3.0_2200\workspace\lpc_chip_5410x\Debug\liblpc_chip_5410x.a(adc_5410x.o) does not
c:/nxp/mcuxpressoide_10.3.0_2200/ide/plugins/com.nxp.mcuxpresso.tools.win32_10.3.0.201811011841/tools/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/bin/ld.exe: failed to merge target specific data of file C:\Users\phembrook\Documents\MCUXpressoIDE_10.3.0_2200\workspace\lpc_chip_5410x\Debug\liblpc_chip_5410x.a(adc_5410x.o)
c:/nxp/mcuxpressoide_10.3.0_2200/ide/plugins/com.nxp.mcuxpresso.tools.win32_10.3.0.201811011841/tools/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/bin/ld.exe: error: periph_adc.axf uses VFP register arguments, C:\Users\phembrook\Documents\MCUXpressoIDE_10.3.0_2200\workspace\lpc_chip_5410x\Debug\liblpc_chip_5410x.a(chip_5410x.o) does not
c:/nxp/mcuxpressoide_10.3.0_2200/ide/plugins/com.nxp.mcuxpresso.tools.win32_10.3.0.201811011841/tools/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/bin/ld.exe: failed to merge target specific data of file C:\Users\phembrook\Documents\MCUXpressoIDE_10.3.0_2200\workspace\lpc_chip_5410x\Debug\liblpc_chip_5410x.a(chip_5410x.o)
c:/nxp/mcuxpressoide_10.3.0_2200/ide/plugins/com.nxp.mcuxpresso.tools.win32_10.3.0.201811011841/tools/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/bin/ld.exe: error: periph_adc.axf uses VFP register arguments, C:\Users\phembrook\Documents\MCUXpressoIDE_10.3.0_2200\workspace\lpc_chip_5410x\Debug\liblpc_chip_5410x.a(clock_5410x.o) does not
c:/nxp/mcuxpressoide_10.3.0_2200/ide/plugins/com.nxp.mcuxpresso.tools.win32_10.3.0.201811011841/tools/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/bin/ld.exe: failed to merge target specific data of file C:\Users\phembrook\Documents\MCUXpressoIDE_10.3.0_2200\workspace\lpc_chip_5410x\Debug\liblpc_chip_5410x.a(clock_5410x.o)
c:/nxp/mcuxpressoide_10.3.0_2200/ide/plugins/com.nxp.mcuxpresso.tools.win32_10.3.0.201811011841/tools/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/bin/ld.exe: error: periph_adc.axf uses VFP register arguments, C:\Users\phembrook\Documents\MCUXpressoIDE_10.3.0_2200\workspace\lpc_chip_5410x\Debug\liblpc_chip_5410x.a(fpu_init.o) does not
c:/nxp/mcuxpressoide_10.3.0_2200/ide/plugins/com.nxp.mcuxpresso.tools.win32_10.3.0.201811011841/tools/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/bin/ld.exe: failed to merge target specific data of file C:\Users\phembrook\Documents\MCUXpressoIDE_10.3.0_2200\workspace\lpc_chip_5410x\Debug\liblpc_chip_5410x.a(fpu_init.o)
c:/nxp/mcuxpressoide_10.3.0_2200/ide/plugins/com.nxp.mcuxpresso.tools.win32_10.3.0.201811011841/tools/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/bin/ld.exe: error: periph_adc.axf uses VFP register arguments, C:\Users\phembrook\Documents\MCUXpressoIDE_10.3.0_2200\workspace\lpc_chip_5410x\Debug\liblpc_chip_5410x.a(gpio_5410x.o) does not
c:/nxp/mcuxpressoide_10.3.0_2200/ide/plugins/com.nxp.mcuxpresso.tools.win32_10.3.0.201811011841/tools/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/bin/ld.exe: failed to merge target specific data of file C:\Users\phembrook\Documents\MCUXpressoIDE_10.3.0_2200\workspace\lpc_chip_5410x\Debug\liblpc_chip_5410x.a(gpio_5410x.o)
c:/nxp/mcuxpressoide_10.3.0_2200/ide/plugins/com.nxp.mcuxpresso.tools.win32_10.3.0.201811011841/tools/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/bin/ld.exe: error: periph_adc.axf uses VFP register arguments, C:\Users\phembrook\Documents\MCUXpressoIDE_10.3.0_2200\workspace\lpc_chip_5410x\Debug\liblpc_chip_5410x.a(iocon_5410x.o) does not
c:/nxp/mcuxpressoide_10.3.0_2200/ide/plugins/com.nxp.mcuxpresso.tools.win32_10.3.0.201811011841/tools/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/bin/ld.exe: failed to merge target specific data of file C:\Users\phembrook\Documents\MCUXpressoIDE_10.3.0_2200\workspace\lpc_chip_5410x\Debug\liblpc_chip_5410x.a(iocon_5410x.o)
c:/nxp/mcuxpressoide_10.3.0_2200/ide/plugins/com.nxp.mcuxpresso.tools.win32_10.3.0.201811011841/tools/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/bin/ld.exe: error: periph_adc.axf uses VFP register arguments, C:\Users\phembrook\Documents\MCUXpressoIDE_10.3.0_2200\workspace\lpc_chip_5410x\Debug\liblpc_chip_5410x.a(pll_5410x.o) does not
c:/nxp/mcuxpressoide_10.3.0_2200/ide/plugins/com.nxp.mcuxpresso.tools.win32_10.3.0.201811011841/tools/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/bin/ld.exe: failed to merge target specific data of file C:\Users\phembrook\Documents\MCUXpressoIDE_10.3.0_2200\workspace\lpc_chip_5410x\Debug\liblpc_chip_5410x.a(pll_5410x.o)
c:/nxp/mcuxpressoide_10.3.0_2200/ide/plugins/com.nxp.mcuxpresso.tools.win32_10.3.0.201811011841/tools/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/bin/ld.exe: error: periph_adc.axf uses VFP register arguments, C:\Users\phembrook\Documents\MCUXpressoIDE_10.3.0_2200\workspace\lpc_chip_5410x\Debug\liblpc_chip_5410x.a(syscon_5410x.o) does not
c:/nxp/mcuxpressoide_10.3.0_2200/ide/plugins/com.nxp.mcuxpresso.tools.win32_10.3.0.201811011841/tools/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/bin/ld.exe: failed to merge target specific data of file C:\Users\phembrook\Documents\MCUXpressoIDE_10.3.0_2200\workspace\lpc_chip_5410x\Debug\liblpc_chip_5410x.a(syscon_5410x.o)
c:/nxp/mcuxpressoide_10.3.0_2200/ide/plugins/com.nxp.mcuxpresso.tools.win32_10.3.0.201811011841/tools/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/bin/ld.exe: error: periph_adc.axf uses VFP register arguments, C:\Users\phembrook\Documents\MCUXpressoIDE_10.3.0_2200\workspace\lpc_chip_5410x\Debug\liblpc_chip_5410x.a(sysinit_5410x.o) does not
c:/nxp/mcuxpressoide_10.3.0_2200/ide/plugins/com.nxp.mcuxpresso.tools.win32_10.3.0.201811011841/tools/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/bin/ld.exe: failed to merge target specific data of file C:\Users\phembrook\Documents\MCUXpressoIDE_10.3.0_2200\workspace\lpc_chip_5410x\Debug\liblpc_chip_5410x.a(sysinit_5410x.o)
c:/nxp/mcuxpressoide_10.3.0_2200/ide/plugins/com.nxp.mcuxpresso.tools.win32_10.3.0.201811011841/tools/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/bin/ld.exe: error: periph_adc.axf uses VFP register arguments, C:\Users\phembrook\Documents\MCUXpressoIDE_10.3.0_2200\workspace\lpc_chip_5410x\Debug\liblpc_chip_5410x.a(uart_5410x.o) does not
c:/nxp/mcuxpressoide_10.3.0_2200/ide/plugins/com.nxp.mcuxpresso.tools.win32_10.3.0.201811011841/tools/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/bin/ld.exe: failed to merge target specific data of file C:\Users\phembrook\Documents\MCUXpressoIDE_10.3.0_2200\workspace\lpc_chip_5410x\Debug\liblpc_chip_5410x.a(uart_5410x.o)
c:/nxp/mcuxpressoide_10.3.0_2200/ide/plugins/com.nxp.mcuxpresso.tools.win32_10.3.0.201811011841/tools/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/bin/ld.exe: error: periph_adc.axf uses VFP register arguments, C:\Users\phembrook\Documents\MCUXpressoIDE_10.3.0_2200\workspace\lpc_chip_5410x\Debug\liblpc_chip_5410x.a(ring_buffer.o) does not
c:/nxp/mcuxpressoide_10.3.0_2200/ide/plugins/com.nxp.mcuxpresso.tools.win32_10.3.0.201811011841/tools/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/bin/ld.exe: failed to merge target specific data of file C:\Users\phembrook\Documents\MCUXpressoIDE_10.3.0_2200\workspace\lpc_chip_5410x\Debug\liblpc_chip_5410x.a(ring_buffer.o)
c:/nxp/mcuxpressoide_10.3.0_2200/ide/plugins/com.nxp.mcuxpresso.tools.win32_10.3.0.201811011841/tools/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/bin/ld.exe: error: periph_adc.axf uses VFP register arguments, C:\Users\phembrook\Documents\MCUXpressoIDE_10.3.0_2200\workspace\lpc_chip_5410x\libs\libpower.a(power_library.o) does not
c:/nxp/mcuxpressoide_10.3.0_2200/ide/plugins/com.nxp.mcuxpresso.tools.win32_10.3.0.201811011841/tools/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/bin/ld.exe: failed to merge target specific data of file C:\Users\phembrook\Documents\MCUXpressoIDE_10.3.0_2200\workspace\lpc_chip_5410x\libs\libpower.a(power_library.o)
collect2.exe: error: ld returned 1 exit status
make: *** [makefile:32: periph_adc.axf] Error 1

------------------------------

Don't know how to proceed from here !!

0 Kudos
4 Replies

907 Views
converse
Senior Contributor V

The error is being reported because you are linking libraries that have not been built with the same floating-point options. You need to build EVERYTHING that will be party of your application with the same floating point options - your code and any libraries that are being linked into your application.

0 Kudos

907 Views
paulhembrook
Contributor II

I went back to the workspace and modified the settings for lpc_board_lpcxpresso_54102 and lpc_chip_5410x to have floating point unit. I did a CLEAN of both projects and a Build. I modified Compiler/Architecture and Assembler/Architecture in both projects to select FPv4-SP (Hard ABI). In my periph_adc project I did the same changes and also include Linker/Arhitecture.

I then went to my periph_adc project did a CLEAN and then a BUILD.

I got:

c:/nxp/mcuxpressoide_10.3.0_2200/ide/plugins/com.nxp.mcuxpresso.tools.win32_10.3.0.201811011841/tools/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/bin/ld.exe: error: periph_adc.axf uses VFP register arguments, C:\Users\phembrook\Documents\MCUXpressoIDE_10.3.0_2200\workspace\lpc_chip_5410x\libs\libpower.a(power_library.o) does not
c:/nxp/mcuxpressoide_10.3.0_2200/ide/plugins/com.nxp.mcuxpresso.tools.win32_10.3.0.201811011841/tools/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/bin/ld.exe: failed to merge target specific data of file C:\Users\phembrook\Documents\MCUXpressoIDE_10.3.0_2200\workspace\lpc_chip_5410x\libs\libpower.a(power_library.o)

Not sure why power_library did not compile/link correctly ??

0 Kudos

907 Views
converse
Senior Contributor V

Make sure you made all the correct changes for the libpower library - don't forget to do Debug and Release builds. Check the build log to confirm that it built with the options you expected.

0 Kudos

907 Views
paulhembrook
Contributor II

I do not have libpower as a project. I chaged the chip and board library. I went through and changed the boards and chip library setting for both Debug and Release. I am doing a debug build for the periph_adc. I see in libs folder in the lpc_chip_5410x project the libpower_m4f_hard.a file. But I did clean and build of the library after the changes and did my periph_adc project and I have the same error.

0 Kudos