2020-12-14 07:25 AM
Our project compiled and linked with no issues when set to HW floating point support. (i.e. The Properties -> C/C ++ Build -> Settings -< Tool Settings -> MCU Settings -> Floating-point ABI is set to "Hardware implementation ...".). However, some math calculations were (very) incorrect when I ran the program. I switched from "Hardware implementation ..." to "Mix HW/SW implementation..." as this worked before we upgraded all our STMicro software (i.e. libraries and tools). But now I see these errors when I try to compile the project:
c:\st\stm32cubeide_1.3.0\stm32cubeide\plugins\com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.7-2018-q2-update.win32_1.5.0.202011040924\tools\arm-none-eabi\bin\ld.exe: error: ../Middlewares/ST/STM32_MotionEC_Library/Lib\MotionEC_CM4F_wc32_ot_hard.a(motion_ec.o) uses VFP register arguments, LynQ Host.elf does not
c:\st\stm32cubeide_1.3.0\stm32cubeide\plugins\com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.7-2018-q2-update.win32_1.5.0.202011040924\tools\arm-none-eabi\bin\ld.exe: failed to merge target specific data of file ../Middlewares/ST/STM32_MotionEC_Library/Lib\MotionEC_CM4F_wc32_ot_hard.a(motion_ec.o)
c:\st\stm32cubeide_1.3.0\stm32cubeide\plugins\com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.7-2018-q2-update.win32_1.5.0.202011040924\tools\arm-none-eabi\bin\ld.exe: error: ../Middlewares/ST/STM32_MotionMC_Library/Lib\MotionMC_CM4F_wc32_ot_hard.a(motion_mc.o) uses VFP register arguments, LynQ Host.elf does not
c:\st\stm32cubeide_1.3.0\stm32cubeide\plugins\com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.7-2018-q2-update.win32_1.5.0.202011040924\tools\arm-none-eabi\bin\ld.exe: failed to merge target specific data of file ../Middlewares/ST/STM32_MotionMC_Library/Lib\MotionMC_CM4F_wc32_ot_hard.a(motion_mc.o)
... I am confused. What does it mean when the compiler says "... motion_mc.o uses VFP register arguments, LynQ Host.elf does not ..."? Why is this error not exist when I only have HW support, but does exist when I have both HW and SW support??
-thanks
Solved! Go to Solution.
2020-12-16 06:06 AM
Hi Miroslav, I have selected your response which resolved the question I had posted. But your response above guided me to the better solution. It caused me to look closely at our magnetic declination (spherical harmonics) code and found that the initial matrix values were not set in the version of code giving unexpected results. So, now everything is working using the HW only floating point setting. Thank you.