__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 673 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
    Please read the forum rules before posting.

    Keep in mind, this is *not* a support forum.
    Our engineers will try to answer your questions between their projects if possible but this can be delayed by longer periods of time.
    Should you be entitled to support you can contact us via our support system: segger.com/ticket/

    Or you can contact us via e-mail.