hardware floating point

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
User10223
Level 1
Level 1
Hello,
I am testing hardware floating point option(-mfloat-abi = hard) on xmc4500(relax lite kit v1). Dave ver: 3.1.8.
I am implementing the following steps:
1. Configuring project as per "DAVE TIP of the day: Things need to do when use math functions".
2. library file used: "libarm_cortexM4lf_math.a" with path: "C:\DAVE-3.1.8\DAVE-3.1.8\CMSIS\Lib\GCC".
3. Compilation error: c:/dave-3.1.8/dave-3.1.8/arm-gcc/bin/../lib/gcc/arm-none-eabi/4.7.4/../../../../arm-none-eabi/bin/ld.exe: cannot find -llibarm_cortexM4lf_math.a
4. Compilation is error free if:
a. "math.h" is used in main.c.
b. "m" is used in libraries option (-l).
c. floating point option is set to -mfloat-abi = softfp.
In short, its ok if I set the "softfp" option.

What could be the problem? Am I missing something.

Thanks.
0 Likes
1 Reply
Not applicable
HI,

You may wish to upgrade to DAVE v4.1.2.

We can now change to 'Full hardware floating point (-mfloat-abi=hard) option under Miscellaneous section of compiler, a similar option is to be selected in Linker-->Miscellaneous --> Floating Point. This feature is added in Dave4.1.2 version.

In general, softfp gives you more compatibility if using external libraries provided not in source code. Hardfp provides you more performance in some circumstances.

Please refer to the following thread:
http://www.infineonforums.com/threads/3185-Full-hardware-floating-point-option

Regards,
Daryl 🙂
0 Likes