__ARMVFP__

    This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

    • My imported ST Cube project is complaining:

      #ifndef __ARMVFP__
      #error This port can only be used when the project options are configured to enable hardware floating point support.
      #endif
      I've selected hard floating point and the correct architecture in `Code Generation` (see attached). I can hack this and try to define this macro but what is the proper way to get this work. I have another (non-Cube) based project that does not use the ST HAL for this same processor with FreeRTOS integrated and do not have this error but I cannot find the difference between the two.

      Thanks.
      Images
      • Screen Shot 2016-10-08 at 3.36.40 PM.png

        19.29 kB, 450×73, viewed 295 times
    • Hi,

      Yes, __ARMVFP__ is a preprocessor define which is set by the IAR compiler.
      These defines are set by Embedded Studio / GCC, based on the project configuration:
      __ARM_ARCH_VFP__
      __ARM_ARCH_VFP3_D32__
      __ARM_ARCH_VFP3_D16__
      __ARM_ARCH_VFP4_D32__
      __ARM_ARCH_VFP4_D16__
      __ARM_ARCH_FPV4_SP_D16__
      __ARM_ARCH_FPV5_SP_D16__
      __ARM_ARCH_FPV5_D16__

      Best regards
      Johannes