enabling S32K146 floating point instructions

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

enabling S32K146 floating point instructions

Jump to solution
693 Views
KelvinSmith
Contributor III

The S32K146 processor includes a floating point unit, but if I go into the project properties and under 'target processor', I set 'Float ABI' to 'FP instructions (hard)', I get errors during the link stage like these:

c:/nxp/s32ds.3.4/s32ds/build_tools/gcc_b1620/gcc-6.3-arm32-eabi/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/bin/real-ld.exe: error: libuavcanV1_demo.elf uses VFP register arguments, ./Project_Settings/Startup_Code/system_S32K146.o does not
c:/nxp/s32ds.3.4/s32ds/build_tools/gcc_b1620/gcc-6.3-arm32-eabi/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/bin/real-ld.exe: failed to merge target specific data of file ./Project_Settings/Startup_Code/system_S32K146.o

These errors repeat for every source file, even if they do not use floating point instructions.

0 Kudos
1 Solution
641 Views
KelvinSmith
Contributor III

I solved this by doing a clean on the project. That caused a bunch of new errors. So I deleted the project from the workspace and readded it. Then I built it again and presto it worked! What a lot of nonesense. But at least it is possible.

View solution in original post

4 Replies
661 Views
davidtosenovjan
NXP TechSupport
NXP TechSupport

Do you have chosen right FPU type (FPv4-SP)?

0 Kudos
643 Views
KelvinSmith
Contributor III

The only option is fpv4-sp-d16, forcibly selected. Presumably this is the same as fpv4-sp

0 Kudos
663 Views
jiri_kral
NXP Employee
NXP Employee

Hi, 

this typically happen if you are linking external library which is compiled with soft FP. It is possible share your project? 

642 Views
KelvinSmith
Contributor III

I solved this by doing a clean on the project. That caused a bunch of new errors. So I deleted the project from the workspace and readded it. Then I built it again and presto it worked! What a lot of nonesense. But at least it is possible.