Bosch Sensortec Community

    cancel
    Showing results for 
    Search instead for 
    Did you mean: 

    BHI260AB - Boot from RAM Error using bhy2 API

    BHI260AB - Boot from RAM Error using bhy2 API

    btruden_henway
    Long-established Member

    Hello Bosch team,

    I'm using a BHI260AB hosted by an STM32 micro communicating over SPI. I want to upload the BHI firmware and boot from RAM.

    For accomplishing that, I've used the API offered in: https://github.com/BoschSensortec/BHY2-Sensor-API

    I based my implementation on the example: https://github.com/BoschSensortec/BHY2-Sensor-API/tree/master/examples/load_firmware

    But unfortunately, after successfully transferring the firmware over SPI, the boot from RAM process fails. More specifically, the API function bhy2_hif_check_boot_status_ram() times out.

    btruden_henway_0-1655846791197.png

    Checking the register 0x25 (Boot Status register), the value is 0b01111000. Where the bit6 is Firmware Verify Error. So the firmware verification is throwing an error.

    Here's a link from where you can download my code: https://drive.google.com/file/d/1cF9MUF7viVbqwoKUXT2Wzcf6CpWkPVY_/view?usp=sharing

    For the BHI firmware, I used the one that is located at: https://github.com/BoschSensortec/BHY2-Sensor-API/blob/master/firmware/bhi260ab/Bosch_SHUTTLE_BHI260...

    My implementation is in the file called bhi260ab.c

    Could you please help me to understand what could be the issue?

    7 REPLIES 7

    BSTRobin
    Community Moderator
    Community Moderator

    Hi btruden_henway,

    For "Here's a link from where you can download my code: https://drive.google.com/file/d/1cF9MUF7viVbqwoKUXT2Wzcf6CpWkPVY_/view?usp=sharing
    For the BHI firmware, I used the one that is located at: https://github.com/BoschSensortec/BHY2-Sensor-API/blob/master/firmware/bhi260ab/Bosch_SHUTTLE_BHI260...", we couldn't access your two hyperlinks.

    Could we know your hardware schematic? BHI260AB shuttle board or hardware designed by yourself?

    And which firmware you used?

    btruden_henway
    Long-established Member

    Hello BSTRobin,

    Please see if you can access the code now from the following link. This link corresponds to the file bhi260ab.c which I created and is the file that uses the bhy2 API.

    https://codeshare.io/BAp8ep

    Below is the schematic of our board. I'm not using the Shuttle board, it's a custom board.

    btruden_henway_0-1655901410847.png

    btruden_henway_1-1655901425466.png

    This is the firmware that I used:
    https://codeshare.io/DZNV1r

    I downloaded it from the following link: 

    https://github.com/BoschSensortec/BHY2-Sensor-API/blob/master/firmware/bhi260ab/Bosch_SHUTTLE_BHI260...

     

    Something important to mention is that I have this board already working with another API, an API that was developed by me. So the hardware is working correctly. With that custom API, I'm able to upload the firmware to the BHI and enable any virtual sensor that I want. But the reason why now I'm trying to use the Bosch API is because with my custom API I'm not able to catch the Meta Events that indicate when the sensor accuracy changes.

    btruden_henway_2-1655902657368.png

    So now, I'd like to use the Bosch API and see if I'm able to catch the Sensor Status meta events. 

    BR

     

     

    Hi btruden_henway,

    You can change your hardware that BHI260AB connect BMM150 via M2 interface, and use this firmware Bosch_SHUTTLE_BHA260_BMM150.fw, and test it again. https://github.com/BoschSensortec/BHY2-Sensor-API/blob/master/firmware/bha260ab/Bosch_SHUTTLE_BHA260...

    btruden_henway
    Long-established Member

    Hello BSTRobin,

    The firmware that you sent doesn't work. It is still not able to boot from RAM.

    BR

    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