How to use floating point hard ABI
06-15-2016
12:57 PM
3,130 次查看
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 ?
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 ?
6 回复数
08-13-2020
06:44 AM
2,769 次查看
vishal_pinto
Contributor I
NXP, Is the Power library (libpower_hardabi) available in source code form now?
06-15-2016
12:57 PM
2,769 次查看
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
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
06-15-2016
12:57 PM
2,769 次查看
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.
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.
06-15-2016
12:57 PM
2,769 次查看
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
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
