I have a Codewarrior project that was compiling fine in CW10.6 with MQX4.1.1 installed. I installed MQX4.2 and when I tried to open the same project and compile it I'm getting the following errors:
c:/freescale/cw mcu v10.6/cross_tools/arm-none-eabi-gcc-4_7_3/bin/../lib/gcc/arm-none-eabi/4.7.3/../../../../arm-none-eabi/bin/ld.exe: error: project.elf uses VFP register arguments, C:/Freescale/CW MCU v10.6/MCU/ARM_GCC_Support/ewl/lib/armv7e-m\libm.a(float.o) does not
c:/freescale/cw mcu v10.6/cross_tools/arm-none-eabi-gcc-4_7_3/bin/../lib/gcc/arm-none-eabi/4.7.3/../../../../arm-none-eabi/bin/ld.exe: failed to merge target specific data of file C:/Freescale/CW MCU v10.6/MCU/ARM_GCC_Support/ewl/lib/armv7e-m\libm.a(float.o)
c:/freescale/cw mcu v10.6/cross_tools/arm-none-eabi-gcc-4_7_3/bin/../lib/gcc/arm-none-eabi/4.7.3/../../../../arm-none-eabi/bin/ld.exe: error: project.elf uses VFP register arguments, C:/Freescale/CW MCU v10.6/MCU/ARM_GCC_Support/ewl/lib/armv7e-m\libm.a(s_modf.o) does not
c:/freescale/cw mcu v10.6/cross_tools/arm-none-eabi-gcc-4_7_3/bin/../lib/gcc/arm-none-eabi/4.7.3/../../../../arm-none-eabi/bin/ld.exe: failed to merge target specific data of file C:/Freescale/CW MCU v10.6/MCU/ARM_GCC_Support/ewl/lib/armv7e-m\libm.a(s_modf.o)
c:/freescale/cw mcu v10.6/cross_tools/arm-none-eabi-gcc-4_7_3/bin/../lib/gcc/arm-none-eabi/4.7.3/../../../../arm-none-eabi/bin/ld.exe: error: project.elf uses VFP register arguments, C:/Freescale/CW MCU v10.6/MCU/ARM_GCC_Support/ewl/lib/armv7e-m\libc.a(__strtold.o) does not
c:/freescale/cw mcu v10.6/cross_tools/arm-none-eabi-gcc-4_7_3/bin/../lib/gcc/arm-none-eabi/4.7.3/../../../../arm-none-eabi/bin/ld.exe: failed to merge target specific data of file C:/Freescale/CW MCU v10.6/MCU/ARM_GCC_Support/ewl/lib/armv7e-m\libc.a(__strtold.o)
c:/freescale/cw mcu v10.6/cross_tools/arm-none-eabi-gcc-4_7_3/bin/../lib/gcc/arm-none-eabi/4.7.3/../../../../arm-none-eabi/bin/ld.exe: error: project.elf uses VFP register arguments, C:/Freescale/CW MCU v10.6/MCU/ARM_GCC_Support/ewl/lib/armv7e-m\libc.a(vsscanf.o) does not
c:/freescale/cw mcu v10.6/cross_tools/arm-none-eabi-gcc-4_7_3/bin/../lib/gcc/arm-none-eabi/4.7.3/../../../../arm-none-eabi/bin/ld.exe: failed to merge target specific data of file C:/Freescale/CW MCU v10.6/MCU/ARM_GCC_Support/ewl/lib/armv7e-m\libc.a(vsscanf.o)
(and there are more like this)
I had already gone through the project settings and updated paths to the MQX4.2 folder, and when I got this message after trying to compile, I also tried changing the "Target Processor" options in the C/C++ Build Settings menu to Float ABI = "FPU with hard vfp passing", and FPU Type = "FPv4-SP-D16" From some online searcing, this error seems to be related to the hardware floating point unit. But I continued getting those errors.
I also tried creating a new project based on an example project and copying my source into, adding relevant libraries, etc., but I ran into other problems which I'm working through. But I would prefer to know how to fix the issue with the original project. Any thoughts?
Thanks
Hello Angelo,
Did you build the MQX 4.2 libraries (BSP, PSP, etc)?
Please build all the MQX 4.2 libraries, then create a new MQX 4.2 project and copy into the sources folder all your *.c and *.h files.
Have a great day,
Sol
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------