Bosch Sensortec Community

    cancel
    Showing results for 
    Search instead for 
    Did you mean: 
    SOLVED

    Linking BSEC 2.4.0 for Cortex-A7 Gives VFP register arguments error

    Linking BSEC 2.4.0 for Cortex-A7 Gives VFP register arguments error

    Deepak
    New Poster

    Hi,

    We are  trying to interface the BME688 sensor which is present in our custom hardware based on STM32MP1. After going through all the documentation, we have added the following files into my source code: from BSEC2.4.0.0_Generic_Release_23012023/examples/BSEC_Integration_Examples/src/bme68x/ , added three bme68x.c, bme68x.h, bme68x_defs.h and from BSEC2.4.0.0_Generic_Release_23012023/algo/normal_version/inc/  added two files bsec_datatypes.h, bsec_interface.h

    Using the bme68x_dev structure, added i2c interface, write, read and delay_us function pointers. Next called bme68x_init() and bsec_init().

    When we tried to link the bsec static C library, downloaded from https://www.bosch-sensortec.com/software-tools/software/bme688-software/  (BSEC2.4.0.0_Generic_Release_23012023/algo/normal_version/bin/gcc/Cortex_A7/libalgobsec.a) with the application, we got lot of errors. I have attached the error log.

    The device is based on Yocto and uses openstlinux (arm-openstlinux_weston-linux-gnueabi-gcc).

    We had faced the same issue previously too for which you provided the library(BSEC2.1.0) which was built for arm-openstlinux_weston-linux-gnueabi-gcc https://community.bosch-sensortec.com/t5/MEMS-sensors-forum/BME688-library-linking-fails-in-STM32MP1...

    We appreciate the support your team provided during those times.  Kindly help us with this issue too. We are stuck with this issue.

    [ attaching the build/error log along with this ]

    Thank you

    Deepak S

     

    15 REPLIES 15

    BSTRobin
    Community Moderator
    Community Moderator

    Hi Deepak,

    We will check and give you feedback later.

    BSTRobin
    Community Moderator
    Community Moderator

    Hi Deepak,

    Could we know the compiling option and download link of your compiler you used?

    BSTRobin
    Community Moderator
    Community Moderator

    Hi Deepak,

    I uploaded BSEC library on STM32MP1 with the following compilation options for your reference.
    -c -std=c99 -march=armv7-a -mthumb -mfloat-abi=hard -mfpu=fpv4-sp-d16 -O2 -fdata-sections -fno-builtin -fno-common
    You could try to compile it. If you fail to run attached library, please provide compiler and compilation options you used.

    Hi BSTRobin,

    The compiling options are: arm-openstlinux_weston-linux-gnueabi-gcc -march=armv7ve -mthumb -mfpu=neon-vfpv4 -mfloat-abi=hard -mcpu=cortex-a7 -O2 -pipe

    The compiler that we use is - arm-openstlinux_weston-linux-gnueabi-gcc or arm-ostl-linux-gnueabi-gcc . Both are same, just the gcc version is different.

    Download the SDKv1.2.0 or you can download directly from this link: https://www.st.com/en/embedded-software/stm32mp1dev.html

    Select the Yocto SDK and also the version 1.2.0 and then download it.

    After downloading extract the file and run the st-image-weston-openstlinux-weston-stm32mp1-x86_64-toolchain-2.6-openstlinux-20-02-19.sh script for installation and it will install in the default path /opt/st/stm32mp1/2.6-openstlinux-20-02-19.

    To make the environment setup please run as below:

    $ source /opt/st/stm32mp1/2.6-openstlinux-20-02-19/environment-setup-cortexa7t2hf-neon-vfpv4-ostl-linux-gnueabi

     

    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