Bosch Sensortec Community

    cancel
    Showing results for 
    Search instead for 
    Did you mean: 

    BSEC for BME680 on Android armeabi-v7a

    Occasional Visitor

    BSEC for BME680 on Android armeabi-v7a

    Dear Bosch support,

    I would like to integrate the BSEC library for using an BME680 sensor on an Android platform that uses the "armeabi-v7a" ABI on a Cortex-A7. Apparantly, none of the library binaries (".a" files) included in the download archive are suitable for this platform. Android mandates that all code for this ABI is compiled...

    • By the Clang compiler from the Android NDK package
    • with the "-march=armv7-a" flag to target ARMv7-A processors
    • with the "-mfloat-abi=softfp" flag to pass floating-point data in core registers instead of FPU registers
    • with the "-fPIC" flag to generate position-independant code

    Additionally, the following alternatives are available:

    • FPU:
      • The "-mfpu=vfpv3-d16" flag to use the VFPv3-D16 floating point unit instructions without NEON (highest compatibility)
      • Alternatively, "-mfpu=neon-vfpv3" to use VFPv3-D32 plus NEON SIMD extensions (highest performance)
    • ARM/Thumb mode:
      • With the "-target thumbv7-none-linux-androideabi -mthumb" flags to generate compact Thumb-2 code
      • Alternatively, with the "-target armv7-none-linux-androideabi -marm" flags to create high-performance ARM code

    So, the 4 possible variants are:

    • -fpic -march=armv7-a -mfloat-abi=softfp -mfpu=vfpv3-d16 -target thumbv7-none-linux-androideabi -mthumb
    • -fpic -march=armv7-a -mfloat-abi=softfp -mfpu=vfpv3-d16 -target armv7-none-linux-androideabi -marm
    • -fpic -march=armv7-a -mfloat-abi=softfp -mfpu=neon-vfpv3 -target thumbv7-none-linux-androideabi -mthumb
    • -fpic -march=armv7-a -mfloat-abi=softfp -mfpu=neon-vfpv3 -target armv7-none-linux-androideabi -marm

    Ideally, there would be libraries for all four variants, but at least for the first one for maximum compatibility. The "RaspberryPI/PiZero_ArmV6-32bits" variant inside the download archive is almost suitable for Android, but uses "-mfpu=hard" ABI and is therefore incompatible with Android binaries. The Cortex-A7 variant does not support PIC code and isn't compatible either.

    Could you provide binaries compiled with the mentioned flags?

    Thank you very much!

    Icon--AD-black-48x48Icon--address-consumer-data-black-48x48Icon--appointment-black-48x48Icon--back-left-black-48x48Icon--calendar-black-48x48Icon--center-alignedIcon--Checkbox-checkIcon--clock-black-48x48Icon--close-black-48x48Icon--compare-black-48x48Icon--confirmation-black-48x48Icon--dealer-details-black-48x48Icon--delete-black-48x48Icon--delivery-black-48x48Icon--down-black-48x48Icon--download-black-48x48Ic-OverlayAlertIcon--externallink-black-48x48Icon-Filledforward-right_adjustedIcon--grid-view-black-48x48IC_gd_Check-Circle170821_Icons_Community170823_Bosch_Icons170823_Bosch_Icons170821_Icons_CommunityIC-logout170821_Icons_Community170825_Bosch_Icons170821_Icons_CommunityIC-shopping-cart2170821_Icons_CommunityIC-upIC_UserIcon--imageIcon--info-i-black-48x48Icon--left-alignedIcon--Less-minimize-black-48x48Icon-FilledIcon--List-Check-grennIcon--List-Check-blackIcon--List-Cross-blackIcon--list-view-mobile-black-48x48Icon--list-view-black-48x48Icon--More-Maximize-black-48x48Icon--my-product-black-48x48Icon--newsletter-black-48x48Icon--payment-black-48x48Icon--print-black-48x48Icon--promotion-black-48x48Icon--registration-black-48x48Icon--Reset-black-48x48Icon--right-alignedshare-circle1Icon--share-black-48x48Icon--shopping-bag-black-48x48Icon-shopping-cartIcon--start-play-black-48x48Icon--store-locator-black-48x48Ic-OverlayAlertIcon--summary-black-48x48tumblrIcon-FilledvineIc-OverlayAlertwhishlist