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,

    Confirm with you, you are using the following compilation options now, right?
    CC="arm-openstlinux_weston-linux-gnueabi-gcc -march=armv7ve -mthumb -mfpu=neon-vfpv4 -mfloat-abi=hard -mcpu=cortex-a7 --sysroot=$SDKTARGETSYSROOT"
    CFLAGS=" -O2 -pipe -g -feliminate-unused-debug-types "

    Hi BSTRobin,

    I confirm that we are using the above mentioned options.

    CC="arm-openstlinux_weston-linux-gnueabi-gcc -march=armv7ve -mthumb -mfpu=neon-vfpv4 -mfloat-abi=hard -mcpu=cortex-a7 --sysroot=$SDKTARGETSYSROOT"
    CFLAGS=" -O2 -pipe -g -feliminate-unused-debug-types "

    You can find those in the environment file, if you have downloaded the SDK we mentioned in the previous reply:

    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

    I have attached the log file again for your reference.

    Thank you

    BSTRobin
    Community Moderator
    Community Moderator

    Hi Deepak,

    Based on you confirmation about compiler and compiling option, we compile a new library for you.

    Thank you for the library BSTRobin. I will let you know the feedback as soon as possible.

    Hi BSTRobin,

    I compiled my application with the BSEC library that you provided in the above reply. We were able to successfully compile the application without any BSEC library related errors or warnings.

    Thank you BSTRobin and team for your great support.

    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