ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Revision history [back]

Two clarifications:

  1. https://wiki.linaro.org/Linaro-arm-hardfloat shows 'soft', 'softfp' and 'hardfp' arguments. 'Soft' is the really slow options using entirely software-emulater floating point. Softfp makes use of the floating point unit (VFP) but passes floating point values through the core. Hardfp directly uses the VFP but, unless you've specifically compiled your whole file system and kernel to support this ABI (yes, it is a different ABI because the parameter passing interface is different), you can use it; hardfp is typically about 30% faster than softfp.
  2. Modern ARM processors offer two different floating point units: VFP (vector floating point but, desite the 'vector' is not SIMD but a regular FP co-proc) and NEON (SIMD). Different ARM core versions support different versions of these two co-procs. and not all ARM processors choose to actually include them. The Cortex-A8 OMAP3530 from TI found on Beagleboard, Gumstix and others includes VFPv3 and NEON.

Long-story short, -mfloat-abi=softfp is a reasonable flag to include but is possibly the compiler default.