How to use floating point hard ABI

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

How to use floating point hard ABI

2,080 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by DieterNiesel on Fri Jul 03 05:34:02 MST 2015
When I compile the project I get this error message.
I used the flags for FPU Hard ABI in the compiler settings

Building target: pnb54102m.axf
Invoking: MCU Linker
arm-none-eabi-gcc -nostdlib -L"F:\proj\lpcv7\lpc_chip_5410x\Debug" -L"F:\proj\lpcv7\lpc_chip_5410x\libs" -Xlinker -Map="pnb54102m.map" -Xlinker --gc-sections -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mthumb -T "pnb54102m_Debug.ld" -o "pnb54102m.axf"  ./src/boot_multicore_slave.o ./src/pnb54102m.o ./src/startup_lpc5410x.o ./src/sysinit.o  F:/proj/lpcv7/pnb54102s/Debug/pnb54102s.axf.o -llpc_chip_5410x -lpower
e:/tools/lpcxpresso_7.8.0_426/lpcxpresso/tools/bin/../lib/gcc/arm-none-eabi/4.9.3/../../../../arm-none-eabi/bin/ld.exe: error: pnb54102m.axf uses VFP register arguments, F:\proj\lpcv7\lpc_chip_5410x\libs\libpower.a(power_library.o) does not
e:/tools/lpcxpresso_7.8.0_426/lpcxpresso/tools/bin/../lib/gcc/arm-none-eabi/4.9.3/../../../../arm-none-eabi/bin/ld.exe: failed to merge target specific data of file F:\proj\lpcv7\lpc_chip_5410x\libs\libpower.a(power_library.o)
collect2.exe: error: ld returned 1 exit status
make: *** [pnb54102m.axf] Error 1

As I understand the error message the libpower.a which is part of the chip_5410x is compiled with soft_abi.
There is no source fpr this lib and no hard_abi version.
What would be a solution ?
Labels (1)
0 Kudos
6 Replies

1,719 Views
vishal_pinto
Contributor I

NXP, Is the Power library (libpower_hardabi) available in source code form now?

0 Kudos

1,719 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by NXP_Support on Tue Jul 07 08:21:00 MST 2015
Hi Dieter,

NXP has implemented proprietary power management techniques in its most recent MCUs and is not releasing source code at this time to protect those techniques from its competitors.
We want to provide easy-to-use power management calls that meet the needs of our customers.   Please feel free to provide any feedback/suggestions for improving our power management library.

Best regards,
-NXP Support 
0 Kudos

1,719 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by DieterNiesel on Tue Jul 07 05:20:48 MST 2015
Why ist this power management lib not existing in source code ?
There is only a precompiled version.
0 Kudos

1,719 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by sundarapandian on Mon Jul 06 12:44:23 MST 2015
We will add a hard float built power library in the upcoming release. Thank you.
0 Kudos

1,719 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by DieterNiesel on Fri Jul 03 07:34:18 MST 2015
Thanks, I did this already.
So I am just waiting for some fix.

Is there a big difference in performance between soft_abi and hard_abi.
Even the soft_abi will use the fpu if present but pass argument via the standard registers and not
the VFP registers.
0 Kudos

1,719 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by lpcxpresso-support on Fri Jul 03 07:11:37 MST 2015
I've passed this issue onto the team responsible for the LPCOpen package (including the prebuilt power library this contains). However as they are in the US and it is 4th July vacation, it is likely to be next week before you get a response.

In the meantime the only short term solution I can suggest is to switch back to using SoftABI...
http://www.lpcware.com/content/faq/lpcxpresso/cm4-floating-point

Regards,
LPCXpresso Support
0 Kudos